axis + spring 集成

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

web.xml配置:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web

Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<display-name>Apache-Axis</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>

<!--

<listener>

<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>

</listener>

-->

<servlet>

<servlet-name>AxisServlet</servlet-name>

<display-name>Apache-Axis Servlet</display-name>

<servlet-class>

com.skysuite.axis.spring.SpringAxisServlet

</servlet-class>

</servlet>

<servlet>

<servlet-name>AdminServlet</servlet-name>

<display-name>Axis Admin Servlet</display-name>

<servlet-class>

org.apache.axis.transport.http.AdminServlet

</servlet-class>

<load-on-startup>100</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>/servlet/AxisServlet</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>*.jws</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

<session-config>

<!-- Default to 5 minute session timeouts -->

<session-timeout>30</session-timeout>

</session-config>

<welcome-file-list id="WelcomeFileList">

<welcome-file>index.jsp</welcome-file>

<welcome-file>index.html</welcome-file>

<welcome-file>index.jws</welcome-file>

</welcome-file-list>

</web-app>

server-config.wsdd配置

第一种配置:

....

<!-- provider="java:SPRINGRPC" it is must be this. it is the handler to found the webservice -->

<service name="Math" provider="java:SPRINGRPC" style="rpc" use="literal">

<operation name="add" qname="ns1:Add" returnQName="ns1:AddResult" returnType="xsd:float" soapAction="" xmlns:ns1="http://math.samples/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<parameter qname="ns1:A" type="xsd:float"/>

<parameter qname="ns1:B" type="xsd:float"/>

</operation>

<parameter name="allowedMethods" value="add"/>

<!-- springBeanClass and springBean must be declared ,because it will be used to found webservice-->

<parameter name="springBeanClass" value="samples.math.Math"/> <!-- the bean class type -->

<parameter name="springBean" value="math"/> <!-- the bean is definded in the spring -->

<parameter name="wsdlTargetNamespace" value="http://math.samples/"/>

<parameter name="sendXsiTypes" value="false"/>

<parameter name="sendMultiRefs" value="false"/>

</service>

.....

我们为了配置axis和spring集成,在applicationContext.xml中必须声明这样的一个Bean

.....

<bean id="axissetup"

class="com.skysuite.axis.spring.SpringAxisSetup">

</bean>

第二种配置:

......

<service name="Math" provider="Handler" style="rpc" use="literal">

<parameter name="handlerClass" value="com.skysuite.axis.spring.SpringBeanRPCProvider" />

<operation name="add" qname="ns1:Add" returnQName="ns1:AddResult" returnType="xsd:float" soapAction="" xmlns:ns1="http://math.samples/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<parameter qname="ns1:A" type="xsd:float"/>

<parameter qname="ns1:B" type="xsd:float"/>

</operation>

<parameter name="allowedMethods" value="add"/>

<!-- springBeanClass and springBean must be declared ,because it will be used to found webservice-->

<parameter name="springBeanClass" value="samples.math.Math"/> <!-- the bean class type -->

<parameter name="springBean" value="math"/> <!-- the bean is definded in the spring -->

<parameter name="wsdlTargetNamespace" value="http://math.samples/"/>

<parameter name="sendXsiTypes" value="false"/>

<parameter name="sendMultiRefs" value="false"/>

</service>

.....

Spring中的Math Bean的生成

<!-- 声明Math的Bean,这样我们上面定义的springBean相一致-->

<bean id="math"

class="samples.math.Math">

</bean>

.......

这样我们就可以访问到Math Service了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有