WebService简单入门(三) apache CXF入门

1.简介:

 Apache CXF = Celtix + Xfire

支持多种协议:

•    SOAP1.1,1.2

•    XML/HTTP

•    CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构,早期语言使用的WS。C,c++,C#)

•    并可以与Spring进行快速无缝的整合

•    灵活的部署:可以运行在Tomcat,Jboss,Jetty(内置),IBMWS,BeaWL上面。

2.下载

官网:http://cxf.apache.org/

下载CXF的开发包:


下载后解压:


3. 入门案例(服务端开发)

第一步:创建动态web项目

第二步:导入CXF相关jar包

第三步:在web.xml中配置CXF框架提供的一个Servlet

<!-- 配置CXF框架提供的Servlet -->
  <servlet>
  	<servlet-name>cxf</servlet-name>
  	<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  	<!-- 通过初始化参数指定CXF框架的配置文件位置 -->
  	<init-param>
  		<param-name>config-location</param-name>
  		<param-value>classpath:cxf.xml</param-value>
  	</init-param>
  </servlet>
  <servlet-mapping>
  	<servlet-name>cxf</servlet-name>
  	<url-pattern>/service/*</url-pattern>
  </servlet-mapping>
 

第四步:在创建一个cxf.xml文件,导入如下代码:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:soap="http://cxf.apache.org/bindings/soap"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/bindings/soap 
http://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/jaxws 
http://cxf.apache.org/schemas/jaxws.xsd">
	<!-- 引入CXF Bean定义如下,早期的版本中使用 -->
	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

</beans>

第五步:开发一个接口和实现类:


第六步:在cxf.xml中注册服务


tomcat运行:


4. 入门案例(客户端开发)

1.方式一:使用jdk提供的wsimport命令生成本地代码完成调用

上篇文章已介绍过,这里不再介绍

 2. 方式二:使用CXF提供的方式(重点)

第一步:创建Java项目并导入CXF相关jar包

第二步:使用wsimport或者CXF提供wsdl2java生成本地代码,只需要生成接口文件



只留下接口,其他的删除

第三步:将接口文件复制到项目中


第四步:在cxf.xml中提供spring配置文件,注册客户端代理对象


address路径是访问网址路径

第五步:读取spring配置文件,创建spring工厂,从工厂中获取代理对象,实现远程调用


右键run as运行:


切换控制台:


猜你喜欢

转载自blog.csdn.net/weixin_41110459/article/details/80868865
今日推荐