項目須要,這兩天系統要調一個webservice的服務,webservice的東西都扔了好幾年了,怎麼使用都忘得一乾二淨了。之前都是使用系統現成的框架掉一個方法就好了,如今幾乎是從0開始一點一點搭建環境啊web
因爲只是調用服務,因此我這邊只要實現一下spring環境下接入websevice就好了spring
第一中嘗試的是使用spring ws的WebServiceTemplate框架
配置的方法以下:
spa
<bean id="xxxWebService" class="org.springframework.ws.client.core.WebServiceTemplate"> <property name="defaultUri" value="http://XXX.net:8080"/> </bean>
第二種嘗試我用了jaxws.net
配置方法以下:code
<bean id="xxxWebService" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean"> <property name="serviceInterface" value="com.xxx.UploadFileService"/> <property name="namespaceUri" value="http://XXX.net:8080"/> <property name="wsdlDocumentUrl" value="http://XXX.net:8080/XXXServicePort?WSDL" /> </bean>
第3中我嘗試的是CXFxml
<import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <jaxws:client id="xxxWebService" serviceClass="com.xxx.UploadFileService" address="http://XXX.net:8080"> </jaxws:client>
第4種我用的是xfire,也是最後項目採用的方法blog
<bean id ="dwdsspWebService" class ="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean"> <property name ="serviceClass"> <value>com.xxx.UploadFileService</value> </property> <property name ="wsdlDocumentUrl"> <value>http://XXX.net:8080/XXXServicePort?WSDL</value> </property> </bean>
參考文檔:http://blog.csdn.net/kkdelta/article/details/3987591 rem
http://blog.csdn.net/kkdelta/article/details/7290769 文檔
http://blog.csdn.net/jadyer/article/details/9002984
http://blog.csdn.net/vickychen89/article/details/6606571
http://coach.iteye.com/blog/894159
總結一下,如今項目中不多用webservice了,因此一會兒用起來還挺捉急,這裏記錄下集中經常使用的方法備忘一下,沒有具體的對比各個方式優劣。