码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-02-27 19:33:33      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:source   soap   数据库   公众   web   res   post   rip   maven工程   

    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的服务端/客户端使用

标签:source   soap   数据库   公众   web   res   post   rip   maven工程   

原文地址:https://www.cnblogs.com/daidao/p/8480136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!