CXF发布WebService
发布服务端
1导入jar包 就在cxf下载文件的lib文件夹下(除了endorse文件夹和WHICH_JARS文件都是)
2 创建SEI接口,接口上要加入@WebService,如果要发布soap1.2,则需要在接口上加上@BindingType(SOAPBinding.SOAP12HTTP_BINDING)
3创建SEI实现类
4发布服务,使用的类是JaxWsServerFactoryBean
需要的几个步骤为)找到服务接口setServiceClass 参数为上面接口.class
)找到服务实现类setServiceBean 参数为上面实现类的实例对象
)找到服务地址setAddress "http://127.0.0.1:12346/webse"
)发布服务create
发布客户端
1 利用一个命令 wsdl2java自动生成服务端对应的客户端程序
Wsdl2java命令是CXF提供的生成客户端的工具,他和wsimport类似,可以根据WSDL生成客户端代码
Wsdl2java常用参数:
-d,指定输出目录
-p,指定包名,如果不指定该参数,默认包名是WSDL的命名空间的倒序
Wsdl2java支持SOAP1.1和SOAP1.2
2 利用一个类JaxWsProxyFactoryBean
然后做以下几步
//设置服务接口
jaxWsProxyFactoryBean.setServiceClass(WeatherInterface.class);
//设置服务地址
jaxWsProxyFactoryBean.setAddress("http://127.0.0.1:12345/weather");
//获取服务接口实例
WeatherInterface weatherInterface = jaxWsProxyFactoryBean.create(WeatherInterface.class);
//调用查询方法