閲囩敤鐨勫伐鍏鳳細(xì)Eclipse3.1.2 + Tomcat5.5 + XFire1.1 銆備嬌鐢╔Fire寮鍙慦ebService搴旇璇撮潪甯哥殑瀹規(guī)槗錛屽彧闇瑕佹寜鐓т笅闈緥瀛愮殑姝ラ鏉ュ仛錛?br />
錛?錛夊湪Eclipse涓柊寤轟竴涓猟ynamic Web Project 錛屽亣璁懼悕涓篨FireZhuweiTest銆?br />
錛?錛夊鍏Fire鐢ㄦ埛搴撱傝搴撲腑搴斿寘鍚玿fire-1.1鐩綍涓嬬殑xfire-all-1.1.jar鏂囦歡錛屼互鍙?strong>xfire-1.1\lib鐩綍涓嬬殑鎵鏈夋枃浠躲?br />
錛?錛夊皢涓婅堪鐨刋Fire鐢ㄦ埛搴撲腑鐨勬墍鏈夋枃浠舵嫹璐濆埌XFireZhuweiTest欏圭洰鐨?strong>WebContent\WEB-INF\lib鐩綍涓嬨?br />
錛?錛変慨鏀?strong>WebContent\WEB-INF\web.xml閰嶇疆鏂囦歡鐨勫唴瀹癸紝涓嬮潰鏄慨鏀瑰悗web.xml錛?br />
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
XFireZhuweiTest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
web.xml涓坊鍔犵殑servlet鏄犲皠琛ㄦ槑錛屾墍鏈夊尮閰?#8220;/services/*”鐨剈rl璇鋒眰鍏ㄩ儴浜ょ粰org.codehaus.xfire.transport.http.XFireConfigurableServlet鏉ュ鐞嗐?br />
錛?錛夌紪鍐欓渶瑕佸彂甯冧負(fù)WebService鐨凧ava綾伙紝榪欎釜渚嬪瓙涓槸涓涓潪甯哥畝鍗曠殑MathService.java銆?/p>
package com.zhuweisky.xfireDemo;
public class MathService
{
public int Add(int a ,int b)
{
return a+b ;
}
}
錛?錛夊湪WebContent\META-INF鐩綍涓嬫柊寤?strong>xfire鏂囦歡澶?/strong>錛岀劧鍚庡湪xfire鐩綍涓嬫坊鍔犱竴涓猉Fire浣跨敤鐨勯厤緗枃浠秙ervices.xml錛岃閰嶇疆鏂囦歡涓殑鍐呭鍙嶆槧浜嗚灝嗗摢浜沯ava綾誨彂甯冧負(fù)web鏈嶅姟銆傛湰渚嬩腑鐨剆ervices.xml鍐呭濡備笅錛?br />
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>MathService</name>
<namespace>http://com.zhuweisky.xfireDemo/MathService</namespace>
<serviceClass>com.zhuweisky.xfireDemo.MathService</serviceClass>
</service>
</beans>
XFire浼?xì)鍊熷姪Spring鏉ヨВ鏋恠ervices.xml錛屼粠涓彁鍙栭渶瑕佸彂甯冧負(fù)WebService鐨勯厤緗俊鎭?br />
寰堝鏂囩珷浠嬬粛鍒拌繖閲屽氨瀹屼簡錛岀劧鑰屽綋鎴戞寜鐓т粬浠墍璇寸殑鍚姩WebService 錛岀劧鍚庨氳繃http://localhost:8080/XFireZhuweiTest/services/MathService?wsdl 鏉ヨ闂湇鍔℃弿榪版椂錛屽嵈鎶涘嚭浜嗗紓甯革紝璇磗ervices.xml鏂囦歡涓嶅瓨鍦紞錛?br />
“org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/xfire/services.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist”銆?nbsp;
錛?錛夐潪甯稿叧閿殑涓鐐癸紝灝辨槸榪欎釜灝忛毦棰樿姳璐逛簡鎴戝皢榪戜竴澶╃殑鏃墮棿銆?br />
鍦?strong>WebContent\WEB-INF鐩綍涓嬫柊寤?strong>classes鏂囦歡澶癸紝鐒跺悗闇瑕佸皢WebContent涓嬬殑鏁翠釜META-INF鏂囦歡澶瑰壀鍒囧埌鏂板緩鐨刢lasses鏂囦歡澶逛笅銆?br />
鍒拌繖閲岋紝欏圭洰鐨勫畬鏁寸洰褰曠粨鏋勫涓嬶細(xì)

錛?錛夊湪Package Explorer涓変腑XFireZhuweiTest欏圭洰錛屽彸閿?>Run As ->Run On Server錛屽叧鑱斿埌浣犳満鍣ㄤ笂鐨凾omCat錛岀劧鍚庝細(xì)鍚姩Tomcat錛屼互鍚姩web鏈嶅姟銆傦紙娉ㄦ剰錛屽湪榪涜姝ゆ楠や箣鍓嶏紝璇峰厛鍋滄TomCat錛?nbsp;
錛?錛夊湪IE涓緭鍏?http://localhost:8080/XFireZhuweiTest/services/MathService?wsdl 浼?xì)寰楀埌姝<嫯鐨剋eb鏈嶅姟鎻忚堪鏂囨。銆?/p>
錛?0錛夋祴璇曞垰鍙戝竷鐨剋ebService銆傛垜浣跨敤C#鍔ㄦ佽皟鐢╓eb鏈嶅姟錛?/p>
//C#
string url = "http://localhost:8080/XFireZhuweiTest/services/MathService" ;
object[] args ={1,2} ;
object result = ESFramework.WebService.WebServiceHelper.InvokeWebService(url ,"Add" ,args) ;
MessageBox.Show(result.ToString());
錛堝叧浜嶤#鍔ㄦ佽皟鐢╓eb鏈嶅姟錛岃鍙傝榪欓噷錛?br />
鎵ц鍚庯紝寮瑰嚭瀵硅瘽妗嗭紝鏄劇ず緇撴灉鏄?銆?

]]>