08.CXF发布WebService(Java项目)
步骤
- 创建java项目
- 引入所有依赖包
- 创建服务类
建议:发布服务的时候使用SOAP1.2,客户端调用的时候使用SOAP1.1
示例代码
1.直接调用服务类
@WebService
@BindingType(value=javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING)
public class HelloService {
public static void main(String[] args) {
//创建服务工厂对象
JaxWsServerFactoryBean sfb = new JaxWsServerFactoryBean ();
sfb.getInInterceptors().add(new LoggingInInterceptor());
sfb.getOutInterceptors().add(new LoggingOutInterceptor());
//设置服务地址
sfb.setAddress("http://127.0.0.1:7777/hello");
//设置服务类
sfb.setServiceClass(HelloService.class);
//设置服务对象的实例
sfb.setServiceBean(new HelloService());
//发布服务
sfb.create();
}
public String sayHello(String name){
return name+ " hello";
}
}
2.调用接口服务类
1.创建服务接口
@WebService//注意注解加在接口上
public interface HI {
String sayHi(String name);
}
2.创建接口实现类
public class HIImpl implements HI {
@Override
public String sayHi(String name) {
return name + " hello";
}
}
3.创建发布服务类
public static void main(String[] args) {
JaxWsServerFactoryBean jf = new JaxWsServerFactoryBean();
jf.setAddress("http://127.0.0.1:5555/hi");
jf.setServiceClass(HI.class);
jf.setServiceBean(new HIImpl());
jf.create();
}