天天看點

簡單記錄一下 剛寫的webservice simple demo

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.遠端調用即可

以上均出自别人 部落格 ,自己實作一下 再次感謝寫部落格的兄弟了 。