java 板


LINE

各位前輩您好 小弟在工作上碰到了一個問題,我已經爬文過,也Google過了 我主要是閱讀 The Java Web Services Tutorial For Java Web Services Developer's Pack, V2.0 February 17,2006 這本手冊 現在所碰到的問題是 我想要將SOAP所回應的訊息的Body部份解讀出來 例如Client送出訊息之後,Server端回應給Client端的SOAPMessage如下 <?xml version="1.0" encoding="UTF-8"?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:sayHelloResponse xmlns:ns2="http://myself.idv.tw/"> <return>Hello!!!!</return> </ns2:sayHelloResponse> </S:Body> </S:Envelope> 此段訊息,我想要將Hello!!!!這個字在Client端印出來 但是 我試過了此手冊的 P.133頁的方法,都一直無法成功 請問各位前輩,有人能教我怎麼處理這段訊息,或者能給予我一些參考的資料嗎?? 我在這地方卡了三天了,請各位幫忙 感謝 執行環境 Windows XP NetBeans, GlassFish V2.1, JDK 1.6.0_14 以下是我的程式碼 主要分成: 1. Server端 2. Client端程式碼 3. 我使用GlassFish的Web Service的Test所回應出來的訊息 4. 執行的結果 5. WSDL //========================================================================================= 1. Server端程式碼: package tw.idv.myself; import javax.jws.WebMethod; import javax.jws.WebService; @WebService() public class Hello { @WebMethod(operationName = "sayHello") public String sayHello() { //TODO write your implementation code here: return "Hello!!!!"; } } //========================================================================================= 2. Client端程式碼: public class Main { public static void main(String[] args) throws SOAPException, MalformedURLException, IOException { SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); SOAPConnection connection = soapConnectionFactory.createConnection(); MessageFactory factory = MessageFactory.newInstance(); SOAPMessage message = factory.createMessage(); SOAPHeader header = message.getSOAPHeader(); SOAPBody body = message.getSOAPBody(); QName bodyName = new QName("http://myself.idv.tw/", "sayHello", "ns2"); SOAPBodyElement bodyElement = body.addBodyElement(bodyName); URL endpoint = new URL("http://localhost:8080/MyServer/HelloService"); message.writeTo(System.out); //這邊印出送出的訊息 System.out.println(""); SOAPMessage response = connection.call(message, endpoint); response.writeTo(System.out); //這邊就是印出回應訊息 System.out.println(""); connection.close(); } //========================================================================================= 3. 我使用GlassFish的Web Service的test訊息 SOAP 請求 ----------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Header/> <S:Body> <ns2:sayHello xmlns:ns2="http://myself.idv.tw/"/> </S:Body> </S:Envelope> ----------------------------------------------------------------- SOAP 回應 ----------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:sayHelloResponse xmlns:ns2="http://myself.idv.tw/"> <return>Hello!!!!</return> </ns2:sayHelloResponse> </S:Body> </S:Envelope> //===================================================================================== 4. 以下是執行Client端時所產生的訊息,我有自行分行過了 以下是送出時的SOAPMessage <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns2:sayHello xmlns:ns2="http://myself.idv.tw/"> <argo>Frederic</argo> </ns2:sayHello> </SOAP-ENV:Body> </SOAP-ENV:Envelope> //以下是回應時的SOAPMessage <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:sayHelloResponse xmlns:ns2="http://myself.idv.tw/"> <return>Hello!!!!</return> </ns2:sayHelloResponse> </S:Body> </S:Envelope> //===================================================================================== 5.WSDL <?xml version="1.0" encoding="UTF-8" ?> - <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3.1-hudson-749-SNAPSHOT. --> - <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3.1-hudson-749-SNAPSHOT. --> - <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns: soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://myself.idv.tw/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://myself.idv.tw/" name="HelloService"> - <types> - <xsd:schema> <xsd:import namespace="http://myself.idv.tw/" schemaLocation="http://localhost:8080/MyServer/HelloService?xsd=1" /> </xsd:schema> </types> - <message name="sayHello"> <part name="parameters" element="tns:sayHello" /> </message> - <message name="sayHelloResponse"> <part name="parameters" element="tns:sayHelloResponse" /> </message> - <portType name="Hello"> - <operation name="sayHello"> <input message="tns:sayHello" /> <output message="tns:sayHelloResponse" /> </operation> </portType> - <binding name="HelloPortBinding" type="tns:Hello"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> - <operation name="sayHello"> <soap:operation soapAction="" /> - <input> <soap:body use="literal" /> </input> - <output> <soap:body use="literal" /> </output> </operation> </binding> - <service name="HelloService"> - <port name="HelloPort" binding="tns:HelloPortBinding"> <soap:address location="http://localhost:8080/MyServer/HelloService" /> </port> </service> </definitions> --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.136.75
1F:推 ppkkykei:NetBeans官網有web services教學文件. 06/16 00:12







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP