`
youyun_2008
  • 浏览: 110135 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

spring + cxf 集成开发

阅读更多

1. 使用 ant 根据 wsdl 文件生成 java 文件

<target name="cxf" depends="init">
    <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
      <arg value="-client"/>
      <arg value="-d"/>
      <arg value="${srcjava.dir}"/>
      <arg value="wsdl/xxx.wsdl"/>
      <classpath>
        <path refid="compile.classpath"/>
      </classpath>
    </java>
</target>

<target name="cxfjar" depends="cxf,compile">
    <jar destfile="${lib.dir}/cxf-xxx.jar">
      <manifest>
        <attribute name="Csapi-Built-By" value="${user.name}"/>
        <attribute name="Csapi-Build-Date" value="${today}"/>
        <attribute name="Csapi-Release-Tag" value="$Name:  $"/>
      </manifest>
      <fileset dir="${build.dir}/chsi/WEB-INF/classes">
        <include name="**/com/xxx/xxx/xxx/handlers/**"/>
      </fileset>
    </jar>
</target>



2. 把生成的cxf java文件 放入 spring 容器中xxx-cxf.xml:

<bean id="xxxServiceFactory" 
        class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
    <property name="serviceClass" 
            value="WSDL2JAVA生成的业务接口类"/>
    <property name="address" 
              value="${xxx.wsdl.address}"/>
</bean>

<bean id="serviceXxxService" 
        class="WSDL2JAVA生成的业务接口类" 
        factory-bean="xxxServiceFactory" 
        factory-method="create"/>


 

3.调用或组合webservice提供的方法 生成具体的业务方法:

<bean id="xxxService" 
        class="com.xxx.xxx.XxxServiceImpl" 
        parent="baseService">
         <property name="itsXxxService" ref="serviceXxxService"/>
    <property name="interfaceClassName" value="XxxService"/>
</bean>


注: 其中org.apache.cxf.jaxws.JaxWsProxyFactoryBean起到关键作用。
在其父类ClientProxyFactoryBean中设置了serviceClass和address属性,ClientProxyFactoryBean又代理(组合方法)了ClientFactoryBean类,ClientFactoryBean类的create()方法会生成需要的bean。

ClientProxyFactoryBean的create()方法中

Object obj = Proxy.newProxyInstance(clientFactoryBean.getServiceClass().getClassLoader(), getImplementingClasses(), handler);

其中handler就是由ClientFactoryBean类的create()方法会生成的。


解释了clientFactoryBean.getServiceClass():
public void setServiceClass(Class serviceClass)
{
    clientFactoryBean.setServiceClass(serviceClass);
}


利用clientFactoryBean.getServiceClass()、getImplementingClasses()生成了代理bean。



分享到:
评论

相关推荐

    spring与cxf集成配置小实例

    用于webservice的开发,主要用到spring+cxf的方式实现webservice的发布与简单调用测试,不懂得可以留言给我,比较显新的框架配置,希望你会喜欢!(并包含拦截器的配置!)

    详解Spring boot+CXF开发WebService Demo

    主要介绍了详解Spring boot+CXF开发WebService Demo,非常具有实用价值,需要的朋友可以参考下

    SSM+cxf+log4j整合框架

    SSM+cxf+log4j整合框架;springmvc+spring+mybatis整合开发,内部集成webservice技术,采用cxf框架进行实现,log4j进行日志记录

    ssm+cxf(基于Maven开发的ssm框架集成cxf发布web service服务)

    源码里面包含了了一个简单的插入功能,主要是为了测试mybatis是否连接上数据库的时候写的测试类,作为一个刚学java,被抓壮丁的写服务器端的妹子,我只想说,画了我3周...如题,基于maven项目的ssm框架和cxf框架的整合。

    spring集成cxf客户端和服务器端demo(含自定义拦截器)

    spring4+cxf3,因为自己项目要用到接口开发,所以综合现有网上所有教程,终于成功写出能自动注入的demo,这个是含拦截器

    CXF+Spring+JPA+JAX_WS API +Tomcat

    Java web service 入门示例,使用 JAX_WS API 开发,使用 CXF 发布,集成 Spring ,Spring orm 基于 JPA 开发 DAO, 并使用 Spring data jpa 简化 DAO 实现。

    Cxf+Spring集成案例代码

    Spring是目前最流行的JavaEE Framework,但是使用Spring的Spring-WS开发WebService却...CXF是一个简化WebService开发的开源项目,通过Spring和CXF的结合可以大大简化基于Spring Framework的应用中的WebService开发。

    spring集成cxf客户端和服务器端demo

    spring4+cxf3,因为自己项目要用到接口开发,所以综合现有网上所有教程,终于成功写出能自动注入的demo

    mybatis+cxf,jax-rs

    针对j2ee项目开发的web简单框架,集成了mybatis+rest+spring

    Spring集成开发CXF实例

    myeclipse环境下Spring集成开发CXF实例,由于容量限制,相关的JAR没有上传,请大家自己到相关网站下载...

    websevice,spring,cxg,ibatis

    CXF环境配置 - jackymin CXF与Spring的集成 log4j的配置使用 Spring XML配置十二个最佳实践WebService开发实例 (Xfire+Spring+Hibernate)

    apache-cxf集成spring基本包

    apache-cxf集成springMVC所需的cxf基本包 测试没问题

    CXF Mybatis Spring 集成配置

    CXF 集成 mybatis spring 环境搭建,以及开发所需要的CXF JAR 包

    cxf 开发web services 利用spring 集成了hibernate

    本示例用cxf2.6.1+spring3.1.0+hibernate3.6 开发web services . 包括客户端是java project, cxf_010 服务器端是个web程序cxf_web_010. 其中客户端的com.dx.client 包下的代码是通过wsdl2java的命令生成,复制到...

    cxf与spring集成

    用webservice中的xfire框架升级到cxf框架开发的实例,供大家分享~~~~

    CXF webservice 示例工程(集成spring)

    readme下为开发文档。 1.集成 spring 2.集成 WSS4J 3.mtom 功能示例 4.基本数据类型service接口 示例 5.复杂数据类型service接口 示例

    用cxf开发webservice

    CXF简化了构造,集成,面向服务架构(SOA)业务组件与技术的灵活复用。在CXF中,Service使用WSDL标准定义并能够使用各种不同的消息格式(或binding)和网络协议(transports)包括SOAP、XML(通过HTTP或JMS)进行访问。CXF...

    CXF契约优先开发方式之客户端实现(client)

    本实例是基于CXF的一个客户端的实现,使用maven生成客户端代码,集成spring配置客户端实现类,访问外部接口。“CXF契约优先开发方式”中的实例为服务器端代码。

    CXF开发webService所需jar包(和spring集成)

    从apache官网下载的cxf3.1.8中有150多个jar包,好多是用不上的,我精简了一下,然后写了demo,测试过没问题

    webService工程

    采用spring3+cxf2.74+bonecp集成的一个开发工程包,采用jackson实现json数据转换,slf4j+logback实现日志管理,bonecp实现连接池.

Global site tag (gtag.js) - Google Analytics