WebService总结
Jax-Ws 规范 (soap = http + xml)
使用Apache CXF实现WebService
服务端
- JaxWsServerFactoryBean对象
- 设置服务地址
- 设置实例化服务接口类
- 创建服务并开启
- JaxWsServerFactoryBean对象
客户端
- JaxWsProxyFactoryBean 客户端代理对象工厂
- 设置访问的服务地址
- 设置服务接口类型
- 创建服务接口的代理对象
- JaxWsProxyFactoryBean 客户端代理对象工厂
Spring 整合 Apache CXF 实现WebService
服务端
web.xml添加WebClient的配置
<servlet> <servlet-name>cxfServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>cxfServlet</servlet-name> <url-pattern>/ws/*</url-pattern> </servlet-mapping>
applicationContext.xml配置
<jaxws:server address="服务地址"> <jaxws:serviceBean> <bean class="服务实现类" /> </jaxws:serviceBean> </jaxws:server>
客户端
- applicationContext.xml配置
<jaxws:client id="" address="" serviceClass="服务接口类型" />
- applicationContext.xml配置
Jax-Rs 规范 基于RESTFUL风格的WebService 的开发
Apache CXF 实现WebService
服务端
- JaxRsServiceFactoryBean 对象
- 设置访问服务的地址
- 设置服务接口和实现类
- 创建服务并开启
- JaxRsServiceFactoryBean 对象
客户端
指定请求响应的数据格式(type/accpet)
WebClient .create("服务地址") .type(请求数据格式:xml/json) .accept(服务器返回的数据格式:xml/json) .post()/put()/get()/delete() 请求方式
不指定请求响应的数据格式
WebClient .create("服务地址") .post()/put()/get()/delete() 请求方式
Spring整合Apache CXF 实现web Serviced
服务端
web.xml添加配置
<servlet> <servlet-name>cxfservlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>cxfservlet</servlet-name> <url-pattern>/rs/*</url-pattern> </servlet-mapping>
applicationContext.xml配置
<jaxrs:server address="服务地址"> <jaxrs:serviceBeans> <bean class="服务实现类" /> </jaxrs:serviceBeans> </jaxrs:server>
客户端
- 远程调用服务,跟独立的CXF调用方法一样