`
8366
  • 浏览: 812878 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

axis 和spring 集成

阅读更多

axis 和spring 集成  有两种方式,关键点式axis 对外暴露的 业务类 和 spring 容器 为我们提供的bean 如何 相互

 

1. 网上有段代码 写了一个 provider="java:SPRINGRPC"   把他写的类导入到工程中,按照下面的方式即可集成成功

 

http://www.99inf.net/SoftwareDev/Java/23450.htm  

 

 

2. 如何吧一个普通的java类发布成webservice 比较简单,可以参考我的附件中的文档,就不说了,现在我们说下使用网上  方法如何集成 axis 和spring  的关键步骤

 

 a. 首先 建立 cn.com.xinli.axis.spring 包 ,将 集成代码全部拷贝进去

 b. 在 applicationContext-webservice.xml 中 配置 集成需要的bean

 

Xml代码
  1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
  2.   
  3. < beans   xmlns = "http://www.springframework.org/schema/beans"   
  4.     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"   
  5.     xmlns:aop = "http://www.springframework.org/schema/aop"   
  6.     xmlns:tx = "http://www.springframework.org/schema/tx"   
  7.     xsi:schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  8.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  
  9.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">   
  10.   
  11.     <!-- axis 和spring 集成需要 -->   
  12.     < bean   id = "axissetup"   class = "cn.com.xinli.axis.spring.SpringAxisSetup" >   
  13.     </ bean >   
  14.     <!-- 对外暴露的 webservice 接口 -->   
  15.     < bean   id = "callWebService"   class = "cn.com.xinli.webservice.CallWebService" >   
  16.     </ bean >   
  17.       
  18.       
  19.     <!-- 银行缴费实现  -->   
  20.      < bean   id = "payBank"   class = "cn.com.xinli.webservice.business.impl.PayBankRecive" >     
  21.     </ bean >   
  22.     <!-- 客户服务实现  -->   
  23.      < bean   id = "custService"   class = "cn.com.xinli.webservice.business.impl.CustService" >   
  24.         < property   name = "dataSource"   ref = "dataSource" > </ property >   
  25.     </ bean >   
  26. </ beans >   
<?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:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

    <!-- axis 和spring 集成需要 -->
    <bean id="axissetup" class="cn.com.xinli.axis.spring.SpringAxisSetup">
    </bean>
    <!-- 对外暴露的 webservice 接口 -->
    <bean id="callWebService" class="cn.com.xinli.webservice.CallWebService">
    </bean>
    
    
	<!-- 银行缴费实现  -->
	 <bean id="payBank" class="cn.com.xinli.webservice.business.impl.PayBankRecive">	
	</bean>
	<!-- 客户服务实现  -->
	 <bean id="custService" class="cn.com.xinli.webservice.business.impl.CustService">
	 	<property name="dataSource" ref="dataSource"></property>
	</bean>
</beans>

 

 c. 在 server-config.wsdd 中增加 对外暴露的service 描述,重点注意 修改className为 springBeanClass,并且加上 springBean 描述

 

 

Xml代码
  1. < service   name = "CallWebService"   provider = "java:SPRINGRPC" >   
  2.   < operation   name = "service"   qname = "ns1:service"   returnQName = "serviceReturn"   returnType = "soapenc:string"   soapAction = ""   xmlns:ns1 = "http://webservice.tdm.xinli.com.cn"   xmlns:soapenc = "http://schemas.xmlsoap.org/soap/encoding/" >   
  3.    < parameter   name = "haader"   type = "soapenc:string" />   
  4.    < parameter   name = "body"   type = "soapenc:string" />   
  5.   </ operation >   
  6.   < parameter   name = "allowedMethods"   value = "service" />   
  7.   < parameter   name = "typeMappingVersion"   value = "1.2" />   
  8.   < parameter   name = "wsdlPortType"   value = "CallWebService" />   
  9.   < parameter   name = "wsdlServicePort"   value = "CallWebService" />   
  10.   < parameter   name = "wsdlTargetNamespace"   value = "urn:CallWebService" />   
  11.   < parameter   name = "springBeanClass"   value = "cn.com.xinli.webservice.CallWebService" />   
  12.   < parameter   name = "springBean"   value = "callWebService" />   
  13.  </ service >   
<service name="CallWebService" provider="java:SPRINGRPC">
  <operation name="service" qname="ns1:service" returnQName="serviceReturn" returnType="soapenc:string" soapAction="" xmlns:ns1="http://webservice.tdm.xinli.com.cn" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
   <parameter name="haader" type="soapenc:string"/>
   <parameter name="body" type="soapenc:string"/>
  </operation>
  <parameter name="allowedMethods" value="service"/>
  <parameter name="typeMappingVersion" value="1.2"/>
  <parameter name="wsdlPortType" value="CallWebService"/>
  <parameter name="wsdlServicePort" value="CallWebService"/>
  <parameter name="wsdlTargetNamespace" value="urn:CallWebService"/>
  <parameter name="springBeanClass" value="cn.com.xinli.webservice.CallWebService"/>
  <parameter name="springBean" value="callWebService"/>
 </service>

 

d.  我们对外暴露的是 callWebService 这个bean ,如果需要spring 的其他bean ,只需要在 xml中把其他的bean注入到callWebService 这个bean中 然后再 callWebService  这个bean 写上setter方法就OK了!

 

 

现在找到了一中超级简单的方法,axis 和spring 集成的关键在于 axis 对外暴露的方法中如何得到 spring 中的bean

,其实只需要 我们对外 暴漏的类 继承自 ServletEndpointSupport  然后使用

 

Java代码
  1. final  ApplicationContext  applicationContext=getApplicationContext();  
  2. ServiceInterface serviceInterface=(ServiceInterface)applicationContext.getBean(head);  
final ApplicationContext  applicationContext=getApplicationContext();
ServiceInterface serviceInterface=(ServiceInterface)applicationContext.getBean(head);

 

就可以得到bean 了

 

 

 

附件中是整个集成的 例子 和 一个快速发布的 文档(很久以前写的)

分享到:
评论

相关推荐

    axis2与spring集成

    axis2与spring的集成,在application中配置要发布的Java类,然后配置aar文件,在aar打包文件中的services.xml要嵌入 &lt;parameter name="ServiceObjectSupplier"&gt;org.apache.axis2.extensions.spring.receivers....

    axis2+spring webservice

    在集成Axis2和Spring时,通常会使用Spring的ApplicationContext来加载Axis2配置,并将服务组件作为Spring Bean管理。这样,我们可以在Web服务的生命周期中利用Spring的依赖注入(DI)和面向切面编程(AOP)特性。...

    spring集成axis发布webservice源码

    spring集成axis发布webservice源码 spring集成axis发布webservice源码 spring集成axis发布webservice源码 spring集成axis发布webservice源码

    spring-axis2-test.rar_Axis2 Spring3_axis2_axis2 spring3_axis2 s

    标题中的“spring-axis2-test.rar_Axis2 Spring3_axis2_axis2 spring3_axis2 s”指的是一个关于Spring和Axis2集成的示例项目,它包含了一组用于演示如何在Spring框架中使用Apache Axis2来开发和部署Web服务的源代码...

    Spring集成AXIS2的Web_service配置方法

    将 Spring 集成 AXIS2 可以实现基于 Spring 的 Web 服务配置,该配置方法可以提高开发效率和系统可维护性。 一、配置 Spring 项目 首先,需要在 Spring 项目中添加 AXIS2 的依赖项,包括 axis2-spring-1.4.1.jar ...

    Spring集成axis2实现webservice所用到的包

    总结来说,Spring集成Axis2实现Web服务涉及到Spring的IoC容器、服务的创建和发布、以及客户端的调用等多个环节。了解并掌握这些知识点,对于开发高质量的Web服务应用至关重要。在实际项目中,务必确保所有必要的库...

    springboot集成axis2-1.7.9实例

    在本文中,我们将深入探讨如何将Apache Axis2与Spring Boot集成,以构建一个...这个实例展示了如何在Spring Boot应用中集成和调用Axis2服务,通过理解这些关键步骤,你可以根据需求扩展和定制自己的Web服务解决方案。

    Axis2集成Spring.doc

    本文档旨在介绍如何将Apache Axis2与Spring框架进行集成,以实现灵活的服务部署和管理。在实际应用中,开发者可能需要利用Spring来管理业务对象(例如POJOs),并希望通过Axis2提供这些服务。这种集成方式不仅能够...

    axis1.4 spring3.0 集成 实现 web service

    axis1.4 spring3.0 集成 实现 web service 服务端, axis1.4 客户端认证,授权,访问日志记录,集成spring 解决 PHP 调用web service 无法认证,和解析soap 模板

    Axis2与Spring整合发布多个WebService

    在IT行业中,开发Web服务是常见的任务,而Axis2和Spring框架的整合为开发者提供了强大的工具来实现这一目标。本文将深入探讨如何利用这两个技术来发布多个WebService,并着重讲解项目管理和整合过程。 首先,让我们...

    java webservice之axis2与spring集成(二)

    以下是关于"java webservice之axis2与spring集成(二)"的详细知识点讲解: 1. **Spring框架**: Spring是Java领域的一个开源框架,主要用于简化企业级应用的开发。它提供了一个全面的编程和配置模型,特别强调了...

    spring+axis集成webservice

    Spring框架和Apache Axis是实现Web服务集成的两个关键工具。本文将深入探讨如何使用Spring与Axis进行集成,以便开发和消费Web服务。 首先,让我们了解Spring和Axis的基本概念。Spring是一个开源Java框架,它为构建...

    axis2 + spring3.2.0

    在提供的链接(http://blog.csdn.net/linlinv3/article/details/9017767)中,你可以找到更具体的关于如何在实际项目中集成和使用Axis2与Spring3.2.0的详细步骤和示例。对于Java Web开发者来说,理解并掌握这种整合...

    axis整合spring

    标题“Axis整合Spring”指的是将Apache Axis,一个用于构建Web服务的开源框架,与Spring框架进行集成,以实现更高效、灵活的服务开发和管理。在Java世界中,这两个框架的结合能够提供强大的企业级应用解决方案。 ...

    使用Axis2整合Spring(二)

    在本篇博文中,我们将深入探讨如何在Java Web开发中使用Apache Axis2框架与Spring框架进行集成,以实现服务端的高效管理和灵活控制。Apache Axis2是著名的Web服务引擎,而Spring则是流行的Java企业级应用框架,它们...

    Axis2集成Spring发布WebServices服务

    #### 二、Axis2与Spring集成原理 在集成Axis2与Spring的过程中,主要涉及以下几个方面: 1. **服务定义**:通过Axis2提供的工具和技术定义Web服务接口。 2. **服务实现**:利用Spring框架管理服务的实现逻辑。 3. *...

    axis2-spring-1.5.4.jar

    本文将详细介绍如何在项目中使用axis2-spring-1.5.4.jar这个jar包,以便在Axis2中集成Spring。 首先,让我们了解为什么需要整合 Axis2 和 Spring。Axis2虽然在处理Web服务方面表现出色,但它的依赖管理和配置相对...

    axis2+spring整合实例

    8. **测试与调试**:Spring的测试框架可以与Axis2服务无缝集成,方便进行单元测试和集成测试。 9. **容器管理**:Spring容器可以管理Axis2的服务实例,负责初始化、销毁以及依赖关系的建立,简化了开发和维护。 **...

    Axis2WebService与Spring的整合

    将Axis2与Spring整合可以让我们在Spring的环境中便捷地创建、管理和部署Web服务,同时利用Spring的众多优点。本文将深入探讨如何将这两者融合,并介绍相关的技术细节。 首先,理解Axis2 Web服务的核心概念。Axis2是...

Global site tag (gtag.js) - Google Analytics