棰勫厛寤虹珛涓涓猈ebService宸ョ▼
a.寮曞叆寮鍙戝寘
b.閰嶇疆web.xml錛屾坊鍔爋rg.apache.axis.transport.http.AxisServlet鏄犲皠鍜寀rl-pattern.
c.緙栧啓WebService鐨勬帴鍙e拰瀹炵幇綾?br />
d.鍦╓EB-INF鐩綍涓嬪垱寤簊erver-config.wsdd鍙戝竷鏂囦歡,瀹氫箟鍙戝竷鐨凷ervice緇勪歡:
鏈嶅姟鍚?瀵瑰簲鐨勭被鍚?鏂規(guī)硶鍚?/p>
&&e瀹氫箟榪斿洖綾誨瀷錛氬鏋淲ebService鏈嶅姟鐨勬柟娉曠敤鍒拌嚜瀹氫箟綾誨瀷,闇瑕佸湪鍙戝竷鏂囦歡涓畾涔?lt;beanMapping>鏄犲皠
--JAX-WS妗嗘灦鐨勪嬌鐢?br />
a.鍦∕yEclipse涓緩绔嬩竴涓獁ebService宸ョ▼錛堝亣璁懼彨myJAXWS錛夛紝浣跨敤JAX-WS妗嗘灦銆?br />
b.鍐欎竴涓櫘閫氱殑JAVA綾伙紙鍋囪鍙玬yBean錛?br />
c.鍦╩yJAXWS錛屼腑閫氳繃JAVA綾籱yBean寤虹珛閫氳繃webService(鐢盡yEclipse鑷姩鐢熸垚)
d.鍙互閫氳繃http://localhost:8888/宸ョ▼鍚?myBeanPort鏌ョ湅鍙敤鐨剋ebService;
浣犲彲浠ttp://localhost:8888/宸ョ▼鍚?myBeanPort?wsdl鏌ョ湅wsdl鏂囦歡錛坸ml鏍煎紡錛?br />
e.濡傛灉webService涓繑鍥炵被鍨嬩負(fù)鑷畾涔夊璞★紝閭d箞鍙敤鑰冭檻灝嗗璞¤漿鍖栦負(fù)瀛楃涓蹭紶閫併?br />
娉細(xì)瀵硅薄涓庡瓧絎︿覆鐩鎬簰杞寲錛屽彲浠ヨ冭檻鐢↗OX鐨凚eanXMLMapping鎶鏈?/p>
--XFire妗嗘灦鐨勪嬌鐢?/p>
棰勫厛寤虹珛涓涓猈ebService宸ョ▼銆?br />
a.寮曞叆寮鍙戝寘(鍒涘緩涓涓猉Fire宸ョ▼)
b.閰嶇疆web.xml錛屾坊鍔爋rg.codehaus.xfire.transport.http.XFireConfigurableServlet鏄犲皠
c.緙栧啓WebService鐨勬帴鍙e拰瀹炵幇綾?
d.鍦╯ervices.xml涓畾涔夎鍙戝竷鐨凷ervice緇勪歡
e.濡傛灉WebService鏈嶅姟鐨勬柟娉曠敤鍒拌嚜瀹氫箟綾誨瀷,闇瑕佸湪緇勪歡鎺ュ彛鍚岀駭鐩綍涓嬬紪鍐?鎺ュ彛鍚?aegis.xml鏂囦歡)錛屽畾涔夎嚜瀹氫箟綾誨瀷
f.璁塊棶service璺緞
http://localhost:8888/XFireWebServiceDelete/services/XuliangXFire?wsdl
浣跨敤webService
閫氳繃XFire鑷姩鐢熸垚錛?br />
瑙佷竴涓櫘閫氱殑JAVA宸ョ▼錛屾柊寤哄寘錛屽湪鍖呬笅鍙抽敭other--->MyEclipse--->webservice--->ServiceClient--->鑷姩wsdl鐨勮礬寰勶紝鍗沖彲銆?/p>
浜屻乄ebService鍩虹鐭ヨ瘑
1.浠涔圵ebService
瀛樺湪浜庝簰鑱旂綉褰撲腑鐨勭粍浠訛紝鍏鋒湁鐙珛鎬э紝
璺ㄥ鉤鍙板拰鎶鏈紝閫氳繃URL榪涜瀹氫綅璋冪敤
2.鏈変粈涔堝ソ澶勶紝鐗圭偣
鍙互閲嶅浣跨敤緇勪歡鏈嶅姟
銆鍙互璺ㄥ鉤鍙板拰鎶鏈紝瀹炵幇涓嶅悓紼嬪簭涔嬮棿鐨勪氦浜?br />
銆鍙互浣跨敤緇勪歡鏈嶅姟鐏墊椿緇勫悎錛屾彁楂樿祫婧愬埄鐢ㄧ巼錛岃妭鐪佽祫婧?br />
3.鐩稿叧鍏抽敭璇嶅強(qiáng)姒傚康
銆HTTP+XML銆
銆SOAP(Simple Object Access Protocol):綆鍗曞璞¤闂崗璁?br />
銆WSDL(Web Service Description Language):WebService鎻忚堪璇█
銆UDDI(Universal Description銆丏iscovery銆乤nd Integration):鐢ㄤ簬鎻愪緵WebService娉ㄥ唽銆佹煡鎵劇瓑鍔熻兘
杞嚜錛?a >http://blog.sina.com.cn/s/blog_4f9ce8f30100k9a1.html
鍦ㄥ紑濮嬪墠錛屽厛浠嬬粛涓浜涙蹇碉細(xì)
XFire Java SOAP妗嗘灦姒傝堪 (鎽樿嚜錛歨ttp://tech.it168.com/j/e/2006-10-28/200610281432707.shtml )
MyEclipse Web Services鏄緩绔嬪湪XFire Java SOAP妗嗘灦鍜屽伐鍏峰熀紜涓婄殑, XFire鏄竴嬈懼紑婧愮殑Java SOAP妗嗘灦銆傚畠鎷ユ湁涓涓交閲忕駭鐨勪俊鎭鐞嗘ā鍧楋紝閫氳繃STAX鏉ヤ笌SOAP淇℃伅鐩哥粨鍚堛傛彁渚涗簡(jiǎn)涓涓伐浣滃湪Web Services涓嬬殑綆鍗旳PI錛屾敮鎸丳OJO鍜宻chema寮鍙? XFire鏀寔 Web Services standards,Spring 鏁村悎, 鏀寔JBI , 鏀寔 JAXB ,XMLBeans,Java 5 鍜孞AX-WS.騫舵敮鎸丠TTP, JMS, XMPP, In-memory浼犺緭鍗忚
涓銆佺幆澧冮厤緗細(xì)MyEclipse7.0
JDK1.6
浜屻佸垱寤篧eb Service Project
1錛夊湪MyEclipse涓夋嫨File鈥?gt;New鈥?gt;Other錛岄夋嫨Web Service Project
2錛塒roject Name錛歐ebServiceServer錛孎ramework錛歑Fire錛屽叾浠栭夐」榛樿
3錛塏ext錛岃繖涓姝ヤ繚鎸侀粯璁ゅ?br /> 4錛塒roject Library閫夋嫨錛岄夋嫨XFire 1.2 Core Libraries
5錛塅inish錛屽垱寤烘垚鍔熷悗鐪嬪埌鐨勫伐紼嬬洰褰曞涓嬶細(xì)
6錛夊畬鎴愪互涓?姝ュ悗錛屾煡鐪媁ebRoot/WEB-INF/web.xml
榪欓噷鎸囨槑浜?jiǎn)褰撻亣鍒?services/*璇鋒眰鏃訛紝灝嗛夌敤XFireConfigurableServlet鏉ュ鐞?
涓夈佸垱寤篧eb Service Code
1錛夐氳繃File鈥?gt;New鈥?gt;Other鈥?gt;Web Services鈥?gt;Web Service wizard鍒涘緩JAVA CODE
2錛夐夋嫨閫氳繃JAVA CLASS鍒涘緩Web Service
3錛夊垱寤篐elloWebService.java錛岄氳繃New鍒涘緩com.service package錛屽悜瀵煎皢涓哄伐紼嬭嚜鍔ㄥ垱寤哄搴旂殑鎺ュ彛綾諱笌瀹炵幇綾?br />
鍒涘緩鎴愬姛鍚庢煡鐪媁ebServices/services.xml錛屽彂鐜伴厤緗枃浠跺浜?jiǎn)浠ヤ笅鍐呭锛?xì)
4錛変慨鏀笻elloWebServiceImpl.java
package com.service;
//Generated by meteorWJ
public class HelloWebServiceImpl implements IHelloWebService {
public String example(String message) {
return getAuthor()+","+message;
}
private String getAuthor(){
return "meteorWJ";
}
}
鍥涖侀儴緗插茍嫻嬭瘯WebSericeServer
1錛夐儴緗瞁ebServiceServer
鍦ㄩ儴緗插悜瀵間腑閫夋嫨欏圭洰銆佹湇鍔″櫒
2錛夊惎鍔ㄦ湇鍔″櫒
3錛夋祴璇昗ebService
MyEclipse鎻愪緵浜?jiǎn)涓涓猈eb Service Explorer鏉ユ祴璇昗eb Service
閫夋嫨鍒楄〃涓殑Launch SOAP Web Services Explorer
濡傛灉鎵句笉鍒癓aunch SOAP Web Services Explorer鍜學(xué)SDL Page鍦ㄥ摢鍎匡紝鍙互闂垜銆?/span>
4錛夐夋嫨WSDL妯″紡
5錛夊湪Explorer涓夋嫨WSDL Main錛屽湪鍙寵竟鐨刄RL涓緭鍏?br />
http://localhost:9090/WebServiceServer/services/HelloWebService?WSDL錛屽崟鍑?Go"
鍏朵腑9090鏄湇鍔″櫒绔彛鍙鳳紝services鍦ㄤ箣鍓嶇殑web.xml涓寚瀹?br />
鑻ュ湪Status涓樉紺烘垚鍔熸墦寮WSDL鏂囦歡鍒欐祴璇曟垚鍔?span style="color: #ff0000">
鑻ユ槸娌℃湁鎴愬姛錛屾妸localhost鏀逛負(fù)鏈満鐨刬p鍦板潃銆?/span>
浜斻佸垱寤篧ebService瀹㈡埛绔?br />
緇忚繃浠ヤ笂鍑犳錛屾垜浠凡緇忔垚鍔熷彂甯冧簡(jiǎn)涓涓猈ebService錛岀幇鍦ㄩ渶瑕佸垱寤轟竴涓鎴風(fēng)鏉ヨ皟鐢ㄨ鏈嶅姟
1錛夊垱寤篔ava Project錛歐ebServiceClient
2錛夊紩鍏yEclipse Libraries
鍙抽敭WebServiceClient鈥?gt;Build Path鈥?gt;Add Libraries
閫夋嫨XFire 1.2 HTTP Client Libraries
3錛夊垱寤篐elloWebService.java
鍦╯rc鐩綍涓嬪垱寤篶om.client.HelloWebService.java
package com.client;
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class HelloWebService {
public static void main(String[] args) throws Exception
{
Client client = new Client(new URL("http://localhost:9090/WebServiceServer/services/HelloWebService?wsdl"));
Object[] results = client.invoke("example", new Object[] {"hello"});
System.out.println((String) results[0]);
}
}
鍙抽敭鐐瑰嚮Run As>Java Application錛屽湪鎺у埗鍙頒腑鐪嬪埌濡備笅杈撳嚭
鏈瀹炰緥鍒版灝辯畻瀹屾垚浜?jiǎn)銆?/p>