cxf整合Spring框架进行服务端开发,并且通过cxf生成客户端代码进行调用

来源:互联网 发布:sql联合主键查询 编辑:程序博客网 时间:2024/05/17 03:36

1、服务端:

      a. 以Tomcat发布WebService服务为例,首先添加jar包,这里我使用的maven,所以添加maven依赖就好了

        <dependency>             <groupId>org.apache.cxf</groupId>             <artifactId>cxf-rt-frontend-jaxws</artifactId>             <version>3.1.10</version>         </dependency>         <dependency>             <groupId>org.apache.cxf</groupId>             <artifactId>cxf-rt-transports-http</artifactId>             <version>3.1.10</version>         </dependency>
      b.写好WebService接口及其实现类,比如com.test.service.HelloService(接口) 、com.test.service.impl.helloServiceImpl(实现)

      c.在web.xml中添加Servlet

    <servlet>        <servlet-name>cxf</servlet-name>        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>        <load-on-startup>2</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>cxf</servlet-name>        <url-pattern>/webservice/*</url-pattern>    </servlet-mapping>
     d.这里我使用的Spring4.0以上版本,cxf版本是3.1.10版本,经验证,在Spring配置文件中只需要加入如下     

    <jaxws:endpoint id="helloService" implementor="com.test.service.impl.helloServiceImpl" address="/helloService">       <jaxws:binding>           <soap:soapBinding version="1.2"/>       </jaxws:binding>    </jaxws:endpoint>
     e.启动Tomcat,在地址栏输入 http://localhost:8080/工程名称/webservice即可以看到WebService发布列表

2.cxf生成WebService客户端代码并调用

    a.在官网上下载apache-cxf-3.1.10.zip,解压至某一路径,比如D盘D:\apache-cxf-3.1.10,然后添加环境变量,CXF_HOME=D:\apache-cxf-3.1.10

  b.在Path后面加上 %CXF_HOME%/bin;

  c.在cmd命令中输入wsdl2java,如果有提示usage,就表明配置成功

  d.然后再命令行输入wsdl2java -p 客户端包名(比如com.test.webservice) -d E:\test\webserviceclient\src WSDL地址(比如http://localhost:8080/client/helloService?wsdl),之后回车

  e.在客户端路径刷新下,会看到生成的代码,如果想要调用服务端,找到那个以Port_client结尾的那个类,程序里面已经写好了一个main方法,只需要我们将参数赋为实际的值,然后启动程序即可调用

      

阅读全文
0 0
原创粉丝点击