一.WebService服务端开发
1、准备一个测试的接口(service和service实现类)
package com.synjones.cjpt.service.webService;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface ITestService {
@WebMethod
public void sayHello(String username);
}
package com.synjones.cjpt.service.impl.webService;
import java.util.Date;
import javax.jws.WebService;
import com.synjones.cjpt.service.webService.ITestService;
@WebService
public class TestServiceImp implements ITestService {
@Override
public void sayHello(String username) {
System.out.println("success! hahahahahaha...");
System.out.println("hello " + username + "\nnow is " + new Date());
}
}
2、准备发布webservice
package com.synjones.cjpt.webService;
import javax.xml.ws.Endpoint;
import com.synjones.cjpt.service.impl.webService.TestServiceImp;
public class test {
public static void main(String[] args) {
String address = "http://202.117.61.136:8888/webservice/blackstudent";
Endpoint.publish(address, new TestServiceImp());
//Endpoint.publish(address, new XsJfxxServiceImp());
System.out.println("发布webservice成功!");
}
}
3、
启动main方法运行这个类,打印出结果Publish Success,表示服务发布成功:
4、打开浏览器,访问我们发布的地址,大家可以看到这样的效果:
5、点击WSDL后面的连接地址便可以打开WSDL配置,访问结果如下:
WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。
二、WebService客户端开发
1、创建客户端项目,项目可以是Java Web项目,也可以是普通的Java项目
2、使用eclipse工具生成客户端代码:
①选中项目点击鼠标右键new>Other...:
②在Wizards框中输入web,选择Web Service Client,点击next按钮:
③输入WSDL服务描述文件的访问地址,点击finish,eclipse会自动帮我们在src目录下生成WebService客户端所需的代码:
⑤:生成的代码如下:
2.编写客户端测试类代码
package com.synjones.test;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import com.synjones.cjpt.service.impl.webService.TestServiceImp;
import com.synjones.cjpt.service.impl.webService.TestServiceImpServiceLocator;
public class testws {
public static void main(String[] args) throws RemoteException {
TestServiceImp test;
try{
test = new TestServiceImpServiceLocator().getTestServiceImpPort();
test.sayHello("world");
}catch(ServiceException e){
e.printStackTrace();
}
}
}
运行后
客户端输出:
服务端输出:(发布webservice成功!是发布的时候输出的)
以上内容皆为本人亲测
参考地址:http://www.cnblogs.com/AlanLee/archive/2017/06/02/6933073.html