您的位置:首页 > 编程语言 > Java开发

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

2017-08-17 18:45 656 查看
首先是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>

4000
<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: