Spring鏄洰鍓嶆渶嫻佽鐨?/span>JavaEE Framework錛屼絾鏄嬌鐢?/span>Spring鐨?/span>Spring-WS寮鍙?/span>WebService鍗村崄鍒嗙箒鐞愩?/span>XFire鏄竴涓畝鍖?/span>WebService寮鍙戠殑寮婧愰」鐩紝閫氳繃Spring鍜?/span>XFire鐨勭粨鍚堝彲浠ュぇ澶х畝鍖栧熀浜?/span>Spring Framework鐨勫簲鐢ㄤ腑鐨?/span>WebService寮鍙戙?/span>
XFire鏄畬鍏ㄥ熀浜庢祦鏁版嵁澶勭悊榪涜宸ヤ綔鐨勭郴緇燂紝榪欐剰鍛崇潃XFire涓嶆槸灝嗘暣涓?/span>SOAP鏂囨。緙撳瓨鍦ㄥ唴瀛樹腑錛岃屾槸浠ョ閬撶殑鏂瑰紡鎺ユ敹SOAP嫻佹暟鎹傝繖縐嶅伐浣滄柟寮忕殑杞彉甯︽潵浜嗗彲瑙傜殑鎬ц兘鍥炴姤錛屽悓鏃惰妭鐪佷簡鍐呭瓨鐨勫崰鐢ㄣ?/span>
瀵逛簬涔犳儻浜?/span>Axis銆?/span>GLUE絳夎繖浜涘熀浜?/span>DOM澶勭悊妯″瀷Web Service妗嗘灦鐨勫紑鍙戣呮潵璇達紝闇瑕佷竴浜涙椂闂存潵閫傚簲榪欑杞彉銆?/span>
XFire浠庣閬撲腑鎺ユ敹涓涓?/span>SOAP璇鋒眰鍒拌繑鍥炰竴涓?/span>SOAP鍝嶅簲錛屼細緇忓巻涓緋誨垪鐨勯樁孌點傚湪綆¢亾璋冪敤鐨勪換浣曚竴涓樁孌碉紝XFire閮藉彲浠ユ坊鍔犱竴浜涢澶栫殑 Handler錛屽湪瀵規秷鎭繘琛屽姞宸ュ鐞嗗悗鍐嶄紶鍏ュ埌涓嬩竴涓樁孌典腑銆傚浘1灞曠ず浜?/span>XFire綆¢亾浠庢帴鏀?/span>SOAP璇鋒眰鍒拌繑鍥?/span>SOAP鍝嶅簲鎵緇忓巻鐨勬墍鏈夐樁孌碉細
鍥?/span>1 XFire Web Service璇鋒眰鍜屽搷搴旂殑榪囩▼
鍦?/span>SOAP璇鋒眰娑堟伅瀵?/span>Web Service鍙戣搗鐪熸璋冪敤涔嬪墠錛屽垎鍒細緇忚繃浼犺緭錛?/span>Transport錛夈侀杞彂錛?/span>PreDispatch錛夈佽漿鍙戯紙Dispatch錛夈佺瓥鐣ュ疄鏂?/span>錛?/span>Policy錛夈佺敤鎴蜂俊鎭鐞嗭紙User錛夈侀璋冪敤錛?/span>PreInvoke錛夈佹湇鍔¤皟鐢紙Service Invocation錛夌瓑闃舵銆傚綋錛?/span>Web Service璋冪敤鍚庯紝XFire鐢熸垚鍝嶅簲SOAP娑堟伅騫墮氳繃綆¢亾鍙戦佺粰瀹㈡埛绔姹傝咃紝榪欎竴榪囩▼浼氬厛鍚庣粡鍘嗚皟鐢ㄥ悗錛?/span>PostInvoke錛夈佺敤鎴蜂俊鎭鐞?/span>錛?/span>User錛夈佺瓥鐣ュ疄鏂斤紙Policy錛夈佷紶杈擄紙Transport錛夎繖鍥涗釜闃舵銆傛瘡涓涓樁孌甸兘鏄竴涓彲鎺х偣錛岄氳繃緙栧啓騫舵敞鍐屼竴浜涚浉搴旂殑Handler灝?/span>鍙互瀹炴柦涓浜涢澶栧鐞嗛昏緫錛屽瀹¤銆?/span>SOAP娑堟伅鍔犲瘑銆佺鍚嶃佸帇緙╃瓑銆?/span>
灝?/span>POJO Bean瀵煎嚭涓?/span>Web Service
閫氳繃XFire涓?/span>Spring鎻愪緵鐨勬湇鍔″鍑哄櫒鍙互杞繪澗鍦板皢POJO瀵煎嚭涓烘爣鍑嗙殑Web Service錛屾澶栵紝XFire榪樺厑璁告垜浠嬌鐢?/span>JSR 181娉ㄨВ瀵?/span>POJO榪涜鏍囨敞錛屾棤闇浣跨敤XML閰嶇疆灝卞彲浠ュ鍑轟負Web Service錛屽悇縐嶅鏉傜殑杞崲緇嗚妭琚閥濡欏湴闅愯棌鍦?/span>XFire涔嬩腑銆?/span>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="mathService" class="com.zjh.manager.MathServiceImpl" />
<bean id="mathExporters" class="org.codehaus.xfire.spring.remoting.XFireExporter">
<property name="serviceFactory" ref="xfire.serviceFactory" />
<property name="xfire" ref="xfire" />
<property name="serviceBean" ref="mathService" />
<property name="serviceClass" value="com.zjh.manager.MathService" />
<property name="name" value="mathWebService" />
</bean>
</beans>
package com.zjh.manager;
public interface MathService {
public String add(int a,int b);
}
package com.zjh.manager;
public class MathServiceImpl implements MathService {
public String add(int a, int b) {
long result = a+b;
return "璁$畻鐨勭粨鏋?" + result;
}
}
榪欐牱渚跨敓鎴愪竴涓獁eb Service錛屽彲浠ラ氳繃鍩熷悕 http://localhost:8080/testwebservice_server/services/mathWebService?wsdl 鏉ヨ闂紝騫剁紪鍐欏鎴風浠g爜浜?br />