1、首先需要下在xfire jar包。[url]http://grails.org/plugin/xfire[/url]
2、配置web.xml
(1) 啟動的時候可以加載到配置檔案 (認為可以吧xfire-servlet 放到 context 配置檔案中,待測試)
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring.xml,/WEB-INF/xfire-servlet.xml
</param-value>
</context-param>
(2)配置servlet
<servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<!-- 配合Spring容器中XFire一起工作的Servlet-->
<servlet>
<servlet-name>xfireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xfire</servlet-name>
<url-pattern>*.ws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>xfireServlet</servlet-name>
<!-- 在這個URI下開放Web Service服務 -->
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
3、配置 xfire-servlet.xml
<!-- 引入XFire預配置資訊 -->
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>
<!-- 使用XFire導出器 -->
<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
<!-- 引用xfire.xml中定義的工廠 -->
<property name="serviceFactory" ref="xfire.serviceFactory"/>
<!-- 引用xfire.xml中的xfire執行個體 -->
<property name="xfire" ref="xfire"/>
</bean>
<!-- 定義所有通路 WEB服務的url -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/HelloWorldService.ws"><ref local="HelloWorldService"/></entry>
</map>
</property>
</bean>
<!-- HelloWorld WEB服務 -->
<bean id="HelloWorld" class="com.test.webservice.impl.SayHelloImpl"/>
<bean id="HelloWorldService" parent="baseWebService">
<!-- 業務服務bean -->
<property name="serviceBean" ref="HelloWorld"/>
<!-- 業務服務bean的窄接口類 -->
<property name="serviceClass" value="com.test.webservice.SayHello"/>
</bean>
到這裡服務端的配置 就完成了。
4、配置 client.xml
<bean id="HelloWorldService" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean">
<property name="serviceClass"><value>com.test.webservice.SayHello</value></property>
<property name="wsdlDocumentUrl"><value>http://10.108.108.106:9090/webservice/HelloWorldService.ws?wsdl</value></property>
<!-- 在系統啟動時,spring不立即查找遠端的服務Bean,而在請求該服務時查找 -->
<property name="lookupServiceOnStartup"><value>false</value></property>
</bean>
5.遠端調用即可
以上均出自别人 部落格 ,自己實作一下 再次感謝寫部落格的兄弟了 。