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

来源:互联网 发布:一淘好用还是淘宝联盟 编辑:程序博客网 时间:2024/06/05 01:08

首先是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.csdn.net/download/u010295735/9938762


原创粉丝点击