資源描述:
《web service的幾種調(diào)用方法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、一、利用jdkweb服務(wù)api實(shí)現(xiàn),這里使用基于SOAPmessage的Web服務(wù) 1.首先建立一個(gè)WebservicesEndPoint: java代碼[daima] packageHello; importjavax.jws.WebService; importjavax.jws.WebMethod; importjavax.xml.ws.Endpoint; @WebService publicclassHello{ @WebMethod publicStringhell
2、o(Stringname){ return"Hello,"+name+""; } publicstaticvoidmain(String[]args){ //createandpublishanendpoint Hellohello=newHello(); Endpointendpoint=Endpoint.publish("http://localhost:8080/hello",hello); } } packageHello; importjavax.jws.Web
3、Service; importjavax.jws.WebMethod; importjavax.xml.ws.Endpoint; @WebService publicclassHello{ @WebMethod publicStringhello(Stringname){ return"Hello,"+name+""; } publicstaticvoidmain(String[]args){ //createandpublishanendpoint Hellohell
4、o=newHello(); Endpointendpoint=Endpoint.publish("http://localhost:8080/hello",hello); } } 2.使用apt編譯[bianyi]Hello.java(例:apt-d[存放編譯[bianyi]后的文件[wenjian]目錄[wenjianmulu]]Hello.java),會(huì)生成jaws目錄 3.使用javaHello.Hello運(yùn)行[yunhang],然后將瀏覽[liulan]器[liulanqi]指
5、向[zhixiang]http://localhost:8080/hello?wsdl就會(huì)出現(xiàn)下列顯示[xianshi] 4.使用wsimport生成客戶[kehu]端 使用如下:wsimport-p.-keephttp://localhost:8080/hello?wsdl 5.客戶[kehu]端程序: Java代碼[daima] classHelloClient{ publicstaticvoidmain(Stringargs[]){ HelloServiceservice=n
6、ewHelloService(); HellohelloProxy=service.getHelloPort(); Stringhello=helloProxy.hello("你好"); System.out.println(hello); } } classHelloClient{ publicstaticvoidmain(Stringargs[]){ HelloServiceservice=newHelloService(); HellohelloProxy=service
7、.getHelloPort(); Stringhello=helloProxy.hello("你好"); System.out.println(hello); } }二、使用xfire,我這里使用的是myeclipse集成[jicheng]的xfire進(jìn)行測(cè)試的 利用xfire開(kāi)發(fā)WebService,可以有三種方法[fangfa]: 1一種是從javabean中生成; 2一種是從wsdl文件[wenjian]中生成; 3還有一種是自己建立webservice 步驟如下: 用
8、myeclipse建立webservice工程,目錄結(jié)構(gòu)[jiegou]如下: 首先建立webservice接口[jiekou], 代碼[daima]如下: Java代碼[daima] packagecom.myeclipse.wsExample; //GeneratedbyMyEclipse publicinterfaceIHelloWorldService{ publicStringexample(Stringmessage); } packagecom.myeclipse