1、创建一个webservice服务
<!-- 要进行jaxws 服务开发 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.0.1</version>
</dependency>
<!-- 内置jetty web服务器 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.0.1</version>
</dependency>
@WebService
public interface LogService {
@WebMethod
String save(String text);
}
public class LogServiceImpl implements LogService {
@Override
public String save(String text) {
return "你输入的内容:" + text;
}
}
public static void main(String[] args) {
// 发布服务的工厂
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
// 设置服务地址
factory.setAddress("http://192.168.3.241:8000/log/save");
// 设置服务类
factory.setServiceBean(new LogServiceImpl());
// 添加日志输入、输出拦截器,观察soap请求、soap响应内容
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
// 发布服务
factory.create();
System.out.println("发布服务成功,端口8000.....");
}
访问http://192.168.3.241:8000/log/save?wsdl获取webservice说明书文档
2、根据文档生成Java调用客户端
idea生成
使用jdk提供的wsimport工具生成
wsimport -keep【wsdl path】
会直接生成到wsimport 执行的目录
调用
public static void main(String[] args) {
AioxService factory=new AioxService();
AioxPortType aioxPort = factory.getAioxPort();
int mediate = aioxPort.mediate("", "", 18080);
System.out.println(mediate);
}