`
wanghuanqiu
  • 浏览: 110044 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

axis2和CXF集成spring发布服务

阅读更多

首先到官网上下载CXF整套包导入项目中,另外CXF2.2以下版本需要jdk1.5而CXF2.3以上需要jdk1.6

axis2发布服务:

编写要发布服务的service

public class HelloService {
public String getInfo(String name){
 return "姓名:"+name;
}

}

web.xml配置servlet

<servlet>
  <servlet-name>AxisServlet</servlet-name>
  <display-name>Apache-Axis Servlet</display-name>
  <servlet-class>
   org.apache.axis.transport.http.AxisServlet
  </servlet-class>
 </servlet>

<servlet-mapping>
  <servlet-name>AxisServlet</servlet-name>
  <url-pattern>/services/*</url-pattern>
 </servlet-mapping>

这里的<url-pattern>/services/*</url-pattern>不能换成其它的,否则会找不到相应的WebService。

配置web.xml中bean文件

 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring-service-bean.xml

   </param -value>

</param -name>

</context-param>

spring-service-bean.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC
    "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans>

    <bean id="HelloService" class="com.*.*.HelloService">
       
    </bean>


</beans>

发布文件services.xml,放在services/META-INF里面

<service name="HelloService">
    <parameter name="ServiceObjectSupplier" locked="false">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter>
    <parameter name="SpringBeanName" locked="false">HelloService</parameter>
    <operation name="getInfo">
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </operation>

<!--不需要发布的-->
  <excludeOperations>
     <operation>方法名称</operation>
    </excludeOperations>

<!--如果引用module要在此注明,本文没有引用-->
        <module ref="name" />

</service>

发布项目可以运行了,客户端调用就不在赘述了,上篇博客有。

 

CXF集成spring发布webservice

  发布service的类如上

   web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="
http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <display-name>cxfwebservice</display-name>
<context-param> 
    <param-name>contextConfigLocation</param-name> 
   <param-value>/WEB-INF/applicationContext.xml</param-value> 
</context-param> 
<listener> 
    <listener-class> 
        org.springframework.web.context.ContextLoaderListener  
    </listener-class> 
</listener> 
 
<servlet> 
    <display-name>CXFServlet</display-name> 
   <servlet-name>CXFServlet</servlet-name> 
  <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>CXFServlet</servlet-name> 
    <url-pattern>/webservices/*</url-pattern> 
</servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>

 </welcome-file-list>
</web-app>

applicationContext.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-2.0.xsd  
           
http://cxf.apache.org/jaxws   
          
http://cxf.apache.org/schemas/jaxws.xsd"> 
 
    <import resource="classpath:META-INF/cxf/cxf.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 
 
    <!-- 发布服务  --> 
    <bean id="hello" class="com.*.*service" /> 
    <jaxws:endpoint id="helloWorld" implementor="#hello" 
        address="/HelloWorld"> 
   </jaxws:endpoint>  
  </beans>

运行项目就发布成功了,客户端调用请参照上篇博客。

分享到:
评论

相关推荐

    Axis2,CXF版本学习笔记

    3. **消息处理器和服务部署**:了解如何配置和部署服务,以及如何处理入站和出站消息,是Axis2学习的重要部分。 4. **编码与解码机制**:理解数据如何从XML到Java对象(反之亦然)转换,以及Axiom(Axis Object ...

    Axis2与CXF的对比

    Apache Axis2和CXF都是Java世界中非常知名的Web服务框架,它们主要用于构建和部署Web服务。两者各有特色,适用于不同的应用场景。以下是对这两个框架特点、区别及适用场合的详细对比,以及它们在效率上的表现。 1. ...

    搜集网上的资料总结的XFire,Axis2,CXF的对比

    本文主要对比了三种流行的Java Web服务框架:XFire、Axis2和CXF,以帮助开发者做出最佳选择。 首先,CXF是一个由Apache基金会维护的重量级SOA(面向服务架构)框架,它支持ESB(企业服务总线),并实现了Web服务、...

    cxf+spring+axis包

    2. 创建Web服务:使用CXF的wsdl2java工具或者Axis的wsdl2java工具,从WSDL文件生成Java服务接口和服务实现。 3. 配置服务发布:在Spring配置文件中,通过CXF或Axis的配置元素,设置服务的地址和绑定信息。 4. 客户端...

    cxf客户端调用axis服务端流程

    CXF支持SOAP、RESTful、XML和JSON等多种通信协议,并且能够与Spring框架深度集成。 **Axis**,全称Apache Axis,是一个用于创建Web服务的工具集,它基于SOAP协议,允许开发者创建、部署和使用Web服务。Axis1.x版本...

    springboot(5) 整合cxf提供webservice服务

    Spring Boot以其简化Java应用程序开发的特性而受到广泛欢迎,而CXF则是一个流行的开源框架,用于构建和消费Web服务。当我们需要在Spring Boot应用中实现Web服务时,CXF提供了强大的支持。 首先,我们需要在项目中...

    axis1.2、cxf框架

    4. **Spring集成**:CXF与Spring框架深度集成,使得服务的配置和管理更加简便,可以利用Spring的依赖注入和AOP(面向切面编程)能力。 5. **调试与测试工具**:CXF提供了一套强大的调试和测试工具,如CXF的WS-...

    Axis和CXF的比较

    - **Axis2**:支持多种序列化机制,如XMLBeans、JiBX、JaxMe和JAXB等,但在与Spring框架的集成上不如CXF方便。 - **CXF**:与Spring框架有着很好的集成,能够很好地利用Spring的各种特性,如依赖注入、事务管理等...

    axis2-1.8.0apache-cxf-3.4.4.rar

    标题中的"axis2-1.8.0apache-cxf-3.4.4.rar"是一个压缩包文件,其中包含了两个重要的开源项目:Apache Axis2版本1.8.0和Apache CXF版本3.4.4。这两个项目都是用于构建和部署Web服务的重要工具,主要应用于Java开发...

    WebService Axis和XFire(CXF)的开发流程

    2. **XFire (CXF)**:XFire(现为Apache CXF)是一个更现代的框架,它集成了Spring,使得服务端的开发更加简单,因为大部分逻辑都被封装到了底层API中。XFire支持直接配置生成WSDL,且能与Spring无缝集成,简化了...

    axis2发布webservice和调用axis2服务接口

    总结起来,使用Axis2发布Web服务和生成客户端代码调用服务是一个标准化的过程,涉及到服务的编写、打包、部署以及客户端的代码生成和调用。了解并熟练掌握这一过程,对进行Java Web服务开发至关重要。在实际开发中,...

    Spring整合axis2经典

    整合Spring和Axis2,主要是为了利用Spring的依赖注入和管理能力,以及Axis2的Web服务处理能力。整合过程主要包括以下步骤: - 配置Spring容器:首先在Spring配置文件中定义Web服务的bean,这些bean通常代表了服务...

    WebService流行框架之Axis和CXF=.docx

    CXF相比于Axis2,提供了更现代的特性和更好的性能,支持更多的协议和标准,如WS-I Basic Profile,WS-Security等,同时其与Spring的集成使得服务管理和依赖注入更加方便。 在选择WebService框架时,应考虑项目需求...

    webService(基于cxf)的完整例子

    3. **创建Web服务**:在CXF中,可以通过注解或XML配置文件定义服务接口和服务实现。例如,可以使用`@WebService`注解标记一个Java类为Web服务接口,并使用`@Path`注解来定义RESTful服务的URL路径。 4. **CXF服务...

    axis2和xcf比较

    下面是关于Axis2和CXF的详细比较,以及如何使用它们来创建和发布Web服务。 1. 对比 Axis2 和 CXF Axis2是Apache软件基金会开发的一个Web服务引擎,其主要目标是提供一个高效且可扩展的平台,用于构建和部署Web服务...

    Springboot集成axis1.4的demo

    需要注意的是,虽然这是一种可行的解决方案,但因为Axis1.4的年代久远,可能遇到一些兼容性和性能问题,所以在条件允许的情况下,推荐使用更新的Web服务框架,如Apache CXF或Spring Web Services的最新版本。

    Spring3Mvc+Hibernate整合Axis2发布WebService并配置Quartz调度

    将Spring3 MVC和Hibernate整合的业务逻辑封装为服务,通过Axis2发布,可以使得服务接口对调用者透明,易于集成到其他系统中。 **Quartz** 是一个开源的作业调度框架,用于在Java应用程序中安排和执行任务。它支持...

    webservice(axis,xfire,cxf)

    Axis提供了一种简单的方式来发布和调用Web服务,通过WSDL(Web Services Description Language)来描述服务接口。它支持JAX-RPC(Java API for XML-based RPC)规范,使得开发者能够方便地将现有Java类转换为Web服务...

    用axis2搭建webservice

    【描述】:虽然有多种Web服务技术,如XFire、CXF和JAX-WS,但Axis2以其易用性和与Spring的无缝集成而备受青睐。通过 Axis2,开发者可以快速地创建和部署Web服务,同时利用Spring的强大功能进行依赖注入和事务管理。 ...

    想对比xfire,cxf和axis2,并看看他们各自的主要内容么,请下载

    在IT行业中,Web服务框架是开发分布式应用程序的关键工具,它们提供了构建、部署和服务接口的能力。XFire、CXF和Axis2都是Java世界中知名的Web服务框架,每一种都有其独特的特性和优势。让我们深入探讨一下这三种...

Global site tag (gtag.js) - Google Analytics