`
youyun_2008
  • 浏览: 113775 次
  • 性别: 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。



分享到:
评论

相关推荐

    myBatis+spring+cxf 框架简单整合(包jar)

    CXF支持SOAP、RESTful等多种Web服务标准,并且可以很好地与Spring框架集成,使得Web服务的开发和部署变得更加便捷。 "myBatis+spring+cxf 框架简单整合(包jar)"的项目中,开发者已经完成了这三者的基础整合工作。...

    Spring+CXF+MyBatis整合代码

    本项目是关于"Spring+CXF+MyBatis"的整合代码实现,旨在提供一个可直接运行的服务端解决方案。接下来,我们将深入探讨这三个核心组件及其整合过程中的关键知识点。 **Spring框架** Spring是Java领域的一个重量级...

    spring+cxf 开发webservice

    MyEclipse是一个集成开发环境(IDE),专为Java EE应用程序设计,它支持直接导入和运行此类项目,从而简化了开发流程。通过这个项目,开发者可以直接开始构建基于Spring和CXF的Web服务,或者在现有基础上进行扩展。 ...

    spring+cxf 整合jar包

    总的来说,Spring+CXF的整合提供了强大的服务开发和管理能力,使得Java企业级应用的开发变得更加高效和灵活。通过理解并掌握这些知识点,开发者能够更好地利用这两个框架来构建高质量的分布式系统。

    spring+cxf 集成

    本文将详细探讨如何将Spring与CXF集成,以实现高效的Web服务功能。 Spring是一个全面的Java应用开发框架,它提供了一种模块化、可扩展的方式来构建应用程序。Spring的核心特性包括依赖注入(DI)和面向切面编程...

    idea + spring4.3.7.RELEASE+cxf3.1.0整合+客户端调用

    在IT行业中,集成框架的使用是提升开发效率和系统稳定性的重要手段。本教程将围绕"idea + spring4.3.7.RELEASE + cxf3.1.0"的整合进行详细讲解,旨在帮助开发者理解如何在IDEA(IntelliJ IDEA)环境中搭建一个基于...

    基于spring+cxf实现用户文件传输的webservice

    Spring 和 CXF 集成 Apache CXF是一个开源的服务框架,帮助开发者使用Frontend编程API构建和开发服务。CXF支持多种协议,如SOAP、XML/HTTP、RESTful HTTP或CORBA,并且可以在多种传输协议上运行,如HTTP、JMS或JBI...

    spring+cxf_demo

    CXF集成了WSDL(Web Services Description Language)第一和第二版,可以自动生成服务端和客户端代码,简化了Web服务的开发流程。同时,CXF也支持数据绑定技术,如JAXB(Java Architecture for XML Binding),使得...

    CXF2.1.3+spring3.0+struts2.3.4

    【标题】"CXF2.1.3+spring3.0+struts2.3.4" 描述了集成这三大框架实现Web服务的场景。CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务。Spring是Java企业级应用的核心框架,提供了依赖注入和面向切面...

    Spring+cxf配置接口+mybatis配置

    在Spring中集成CXF,可以通过Spring的CXFEndpoint或JAXWS-RI的EndpointPublisher来暴露服务。同时,可以利用CXF的ClientProxyFactoryBean创建服务消费者,以便于调用远程接口。 MyBatis的配置主要包括数据源、...

    Spring+cxf=webservice 的jar包1

    【Spring+cxf=WebService】是将Spring框架与Apache CXF集成来实现Web服务的一种常见方式。Spring是一个强大的Java企业级应用开发框架,它提供了一种模块化和灵活的方式来组织和管理应用程序的组件。而CXF则是一个...

    spring+struts+cxf 集成

    本篇文章将详细探讨Spring、Struts和CXF这三个框架的集成,以及它们如何协同工作以提升应用程序的性能和可维护性。 首先,Spring是一个全面的Java应用框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性...

    spring+cxf小demo

    【Spring+CXF小Demo】是基于Java开发的一个入门级示例,主要展示了如何结合Spring框架与CXF库来创建和消费Web服务。...通过实践这个Demo,开发者可以深入理解Spring和CXF的集成,为以后的项目开发打下坚实的基础。

    spring+srpingmvc+mybatis+cxf

    在开发过程中,开发者可能使用了IDEA或者Eclipse等集成开发环境,配合Maven或Gradle进行项目管理和依赖管理。在部署时,项目会被打包成WAR文件,然后部署到Tomcat、Jetty等应用服务器上运行。 通过学习和理解这个...

    spring+cxf的webservice

    总的来说,Spring+CXF的组合提供了一种强大且灵活的方式来开发和部署Web服务,它结合了Spring的易用性和CXF的Web服务功能,使得企业级应用能够轻松地与其他系统进行集成。通过提供的文档和JAR包,开发者可以深入学习...

    mybatis+spring+cxf Webservice框架

    【标题】"mybatis+spring+cxf Webservice框架"是一个集成性的开发框架,它结合了三个主流的技术组件:MyBatis、Spring和Apache CXF,用于构建高效、灵活且易于维护的Web服务。MyBatis是一个优秀的持久层框架,Spring...

    spring + cxf + mybatis整合

    5. **Spring MVC集成**:虽然CXF主要用于SOAP和REST服务,但如果你还需要构建传统的HTTP MVC应用,可以结合Spring MVC。定义控制器,使用`@RequestMapping`注解映射HTTP请求,并通过`@Autowired`注入业务服务层,...

    Spring+CXF 全注解版

    Spring与CXF集成** 集成Spring和CXF可以通过Spring的`JAXWS-RI-Bus`模块完成。通过`jaxws:endpoint`元素或`jaxrs:endpoint`元素在Spring配置文件中声明CXF端点,然后利用注解来定义服务。 **4. 示例代码** ```java...

    spring + cxf + restful

    在IT行业中,Spring、CXF和RESTful是三个非常重要的技术组件,它们分别代表了Java应用框架、服务开发和Web服务API设计模式。本篇文章将深入解析这些技术,并结合"spring + cxf + restful"的实践项目"taiping-account...

    spring+mybatis+cxf整合

    CXF支持多种协议,如SOAP、RESTful、JMS等,它提供了一种简单的方式来创建和部署Web服务,并且能够与Spring框架深度集成,方便地进行服务发布和调用。 "spring+mybatis+cxf整合"意味着将这三大框架结合在一起,形成...

Global site tag (gtag.js) - Google Analytics