日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

SOAP消息的传递

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SOAP消息的传递 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇說了SOAP消息的創建,那么創建好了的SOAP消息要怎么發送給服務端呢?

public class SoapTest {private String wsdlUri = "http://localhost:9999/ns?wsdl";private String ns = "http://lenve.server/";@Testpublic void test3() {try {// 1.創建服務ServiceURL url = new URL(wsdlUri);QName sname = new QName(ns, "MyServerImplService");Service service = Service.create(url, sname);// 2.創建DispatchDispatch<SOAPMessage> dispatch = service.createDispatch(new QName(ns,"MyServerImplPort"), SOAPMessage.class, Service.Mode.MESSAGE);//3.創建SOAPMessageSOAPMessage msg = MessageFactory.newInstance().createMessage();SOAPBody body = msg.getSOAPPart().getEnvelope().getBody();//4.創建QName來指定消息中傳遞的數據QName ename = new QName(ns,"add","ns");SOAPBodyElement ele = body.addBodyElement(ename);ele.addChildElement("a").setValue("3");ele.addChildElement("b").setValue("6");//5.通過Dispatch傳遞消息,同時收到響應消息SOAPMessage response = dispatch.invoke(msg);response.writeTo(System.out);Document doc = response.getSOAPPart().getEnvelope().getBody().extractContentAsDocument();String str = doc.getElementsByTagName("addResult").item(0).getTextContent();System.out.println();System.out.println(str);} catch (SOAPException | IOException e) {e.printStackTrace();}}
}

客戶端輸出:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><S:Body><ns2:addResponse xmlns:ns2="http://lenve.server/"><addResult>9</addResult></ns2:addResponse></S:Body></S:Envelope>
9

成功調用了服務端程序。代碼中先定義了兩個變量,第一個是地址,這個不用多解釋,第二個是命名空間,這是從地址所表示的頁面中得到的。,在創建dispatch是還用到了MyServerImplPort,這個也是從文檔中獲得,在文檔的結尾。

轉載于:https://www.cnblogs.com/lenve/p/4517985.html

總結

以上是生活随笔為你收集整理的SOAP消息的传递的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。