使用spring集成xfire开发webservice接口时的namespace和参数名称等配置

首先是web.xml

    <servlet>
       <servlet-name>xfire</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
       <servlet-name>xfire</servlet-name>
       <url-pattern>/xfirews/*</url-pattern>  <!-- 定义访问的url-->
    </servlet-mapping>

用的是spring的DispatcherServlet,如果用其他方式,配置不一定相同。

然后在WEB-INF下新建xfire-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- 引入XFire预配置信息 --> 
	<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
	<!-- 定义访问的url-->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
       <property name="urlMap">
           <map>
              <entry key="/ticketService">
                  <ref bean="ticketService" />
              </entry>
           </map>
       </property>
    </bean>
	<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter"
		lazy-init="false" abstract="true">
		<property name="serviceFactory" ref="xfire.serviceFactory" />
		<property name="xfire" ref="xfire" />
	</bean>
	<!--这是接口实现类,标注了@WebService注解  --> 
	<bean id="ticketWS" class="com.demo.web.TicketWebServeImpl">
	</bean>
	<!--这是接口-->
	<bean id="ticketService" parent="baseWebService">
		<property name="serviceBean" ref="ticketWS" />
		<property name="serviceClass" value="com.demo.web.TicketWebServe" />
		<property name="name" value="ticketService"/> <!--指定webservice接口名称-->
		<property name="namespace" value="http://webservice.nfss.demo.com/"/>  <!--指定命名空间-->
	</bean>
</beans>


接着开发用@WebService注解标注了的webservice接口实现类和interface,发布成功后,WSDL的访问地址为:http://ip:port/应用上下文/xfirews/ticketService?wsdl 


如果要指定接口调用时的参数名称,而不是默认的in0,in1等,可在接口的interface类所在目录下新建xml文件进行配置,文件名为<接口的interface类同名.aegis.xml>,在xml文件中定义接口每个方法的调用参数名称,如下示例:

<?xml version="1.0" encoding="UTF-8"?>  
<mappings>     
    <mapping>     
       <method name="insertTickets">     
           <parameter index="0"  mappedName="ticketsInfo" />   
       </method>   
        <method name="insertInvoiceIntoTicket">     
           <parameter index="0"  mappedName="invoiceInfo" />   <!--这是第一个参数,如果不配置,默认参数名为in0-->
           <parameter index="1"  mappedName="ticketType" />   <!--这是第一个参数,如果不配置,默认参数名为in1-->
       </method>  
   </mapping>     
</mappings>


用的jar包下载链接为:http://download.youkuaiyun.com/download/u010295735/9938762


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值