spring4集成cxf3的服务端/客户端使用

Posted daidao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring4集成cxf3的服务端/客户端使用相关的知识,希望对你有一定的参考价值。

    Web Service = SOAP + HTTP + WSDL。其中,SOAP Simple Object Access Protocol)协议是web service的主体,它通过HTTP或者SMTP等应用层协议进行通讯,自身使用XML文件来描述程序的函数方法和参数信息,从而完成不同主机的异构系统间的计算服务处理。这里的WSDL(Web Services Description Language)web 服务描述语言也是一个XML文档,它通过HTTP向公众发布,公告客户端程序关于某个具体的 Web service服务的URL信息、方法的命名,参数,返回值等。。。。。。。。

参考链接:http://blog.csdn.net/longwei000/article/details/50592242

  本文重在应用,在https://github.com/neugle/spring_mvc_cxf上的代码修改之,谢谢作者,网上一大堆示例代码,却鲜有亮个完整例子的。

 1.server端

   注意在idea上记得在用Project Structure将resource标注为maven工程能识别的Resource模块。不然配置文件会找不到。

   根据它的mapper文件建立相应数据库(就一个t_lawyer表),造几条记录。

   用tomcat8.5将它运行起来,访问路径为http://localhost:8092/webservice/testService

 2.client端

   1)下载apach-cxf,配置其环境变量。

   2)wsdl2java -keep http://localhost:8092/webservice/testService?wsdl用于使用wsdl2java命令生成客户端代码。

   3)copy原工程,删除java代码,将上面生成的客户端代码copy过来。

   4)将spring-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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://cxf.apache.org/jaxws 
        http://cxf.apache.org/schemas/jaxws.xsd">

    <!-- CXF webservice配置 -->
    <!-- CXF3以后,只需要引入这个配置文件即可,其他两个废弃掉了-->
    <import resource="classpath:META-INF/cxf/cxf.xml"/>


    <!-- WebService -->
    <!--<jaxws:endpoint id="testService"
                    implementor="com.rain6.cxf.service.impl.TestWebServiceImpl"
                    address="/testService"/>-->
    <jaxws:client
            id="userClient"
            serviceClass="com.rain6.cxf.service.TestWebService"
            address="http://localhost:8092/webservice/testService">
    </jaxws:client>
</beans>

  5)写一个Client.java调用服务端方法

  

import com.rain6.cxf.service.Lawyer;
import com.rain6.cxf.service.TestWebService;import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Client {
    public static void main (String[] strings){
        ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("classpath:spring/spring-cxf.xml");
        TestWebService testWebService = (TestWebService) classPathXmlApplicationContext.getBean("userClient");
        Lawyer lawyer = testWebService.selectByPrimaryKey("143347");
        System.out.println("----------------->>>>>>>>>>>>>>>>>client calling .......");
        System.out.println(lawyer.toString());
    }
}

OK了!

 

以上是关于spring4集成cxf3的服务端/客户端使用的主要内容,如果未能解决你的问题,请参考以下文章

cxf3.1+spring4+maven启动报错

CXF 3.* WebService服务端

使用cxf3.0.4搭建webservice服务需要的最精简jar包

WebSocket客户端/服务端代码

spring对websocket的集成和使用

Django 与 Paypal 进行服务器端集成