SOAP訊息的傳遞
上一篇說了SOAP訊息的建立,那麼建立好了的SOAP訊息要怎麼傳送給服務端呢?
public class SoapTest {
private String wsdlUri = "http://localhost:9999/ns?wsdl";
private String ns = "http://lenve.server/";
@Test
public void test3() {
try {
// 1.建立服務Service
URL url = new URL(wsdlUri);
QName sname = new QName(ns, "MyServerImplService" );
Service service = Service.create(url, sname);
// 2.建立Dispatch
Dispatch<SOAPMessage> dispatch = service.createDispatch(new QName(ns,
"MyServerImplPort"), SOAPMessage.class, Service.Mode.MESSAGE);
//3.建立SOAPMessage
SOAPMessage 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,這個也是從文件中獲得,在文件的結尾。
。
相關推薦
soap訊息傳遞和處理(基於Message和Payload的方式)
package com.npf.client; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.soap.MessageFactory; import javax.xml.soap.SOAPBody; imp
使用SOAP的XML訊息傳遞
(3) Web 服務負責處理請求資訊並生成一個響應。該響應也是一條SOAP訊息。響應的SOAP訊息被提供給SOAP執行時,其目的地是服務請求者。在HTTP上的同步請求/響應的情況中,聯網協議的底層請求/響應本質用於實現訊息傳遞的請求/響應。SOAP執行時將SOAP訊息響應傳送到網路上的服務請求者。
SOAP訊息的傳遞
上一篇說了SOAP訊息的建立,那麼建立好了的SOAP訊息要怎麼傳送給服務端呢? public class SoapTest { private String wsdlUri = "htt
Webservice06---SOAP訊息的傳遞和處理(基於Message方式)
使用Message方式傳遞和處理SOAP訊息。 1.1、建立服務 private String wsdlUrlStr = "http://localhost:9999/ns?wsdl"; private String targetNameSpace
SOAP訊息的傳遞和處理(PAYLOAD方式)
/** * 訊息的傳遞和處理(PAYLOAD) * 通過負載來傳遞 */ @Test public void test03() { try { //1.建立服務(Service) URL url = new URL(wsdlUrl); QName sNa
soap訊息分析和soap訊息的傳遞和處理(一)
WebService傳遞的時候實際上是傳遞一個SOAPMessage,我們來探究一下SOAPMessage的組成。 SOAPMessage由一個個的SOAP塊組成,這些SOAPPart被封裝到一個SOAPEnvelope(信封)中,信封中包括head和body。我們可以自
php中Redis的應用--訊息傳遞
訊息傳遞這一應用廣泛存在於各個網站中,這個功能也是一個網站必不可少的。本文主要介紹了php中Redis的應用--訊息傳遞。 閱讀目錄 1、摘要 2、實現方法 3、一對一訊息傳遞 4、多對多訊息傳遞 1、摘要 訊息傳遞這一應用廣泛存在於各個網站中,這個功能也是一個網站必不可
使用MPI訊息傳遞實現hello world的順序輸出
MPI:hello world順序輸出 在跑MPI並行程式時,我們不知道哪個核心前進得快,故而在沒有其他控制的條件下,誰先執行同一條程式碼,是不可知的。 比如說,對於一個輸出“hello world”的程式,如果採用多個節點來跑,列印順序是不定的。下面是一個hellow程式: /
iOS總結-Runtime篇之類的訊息傳遞
訊息傳遞的核心機制就是objc_msgSend id objc_msgSend(receiver self, selector _cmd, arg1,arg2,...) self和_cmd是隱藏引數,編譯器插入,self指向訊息的接受者 _cmd是SEL型別 當向一般物件傳送
鳥哥的Linux私房菜讀書筆記--主機上的使用者訊息傳遞
1、查詢使用者 之前學習過的id和finger都可以以進行查詢使用者的相關資料,最簡單的還可以使用last檢視 使用命令:w 命令:who 命令 lastlog #查詢賬號的登入情況 2、使用者
html5 postMessage解決跨域、跨視窗訊息傳遞簡單案例
方法解釋: postMessage()方法允許來自不同源的指令碼採用非同步方式進行有限的通訊,可以實現跨文字檔、多視窗、跨域訊息傳遞。 postMessage(data,origin)方法接受兩個引數: 1.data:你需要傳遞的訊息,訊息傳遞的格式有一定要求:引數可以是JavaScript
Android 訊息傳遞之Intent和IntentFilter的匹配規則
1.Intent概述及作用 Intent 是一個訊息傳遞物件,您可以使用它從其他應用元件請求操作。 詳見官方文件 主要功能如下: 啟動Activity: 通過將 Intent 傳遞給 startActivity(),您可以啟動新的 Activity 例項。I
vc中用SendMessage自定義訊息傳遞
SendMessage的函式原型為 LRESULT SendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 第一個引數hWnd,是訊息傳遞的目標視窗或執行緒的控制代碼 第二個引數Msg,是訊息的類別,可以是一些系統訊
android hxgbus 待tag的訊息傳遞
hxgbus 引入方式 allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { implementat
MFC的檔案開啟框、讀取檔案內容、訊息傳遞、多執行緒多串列埠的使用
最近做的專案簡單總結一下,因為對MFC不是很熟,所以簡單記錄一下。 順便發現可以在VS2017編譯的工程,放到VS2012反而有很多編譯無法通過。 1、MFC的檔案開啟框(多位元組) char* cFileName=NULL; //儲存檔案 void CToolD
html5 postMessage解決跨域、跨視窗訊息傳遞
一些麻煩事兒 平時做web開發的時候關於訊息傳遞,除了客戶端與伺服器傳值還有幾個經常會遇到的問題 1.頁面和其開啟的新視窗的資料傳遞 2.多視窗之間訊息傳遞 3.頁面與巢狀的iframe訊息傳遞 4.上面三個問題的跨域資料傳遞 postMessage()
SpringMVC框架Java Web專案中訊息傳遞的流程
這是一個servlet專案,功能是使用者填寫表單,然後後臺渲染頁面後把表單內容返回給使用者。通過這個簡單的例子理解下springmvc框架的工作原理。 springmvc概念架構 springmvc可
Python GUI程式設計之訊息傳遞機制&使用者登入
PythonGUI程式設計之-訊息傳遞機制及簡單的使用者登入 訊息機制 1.訊息的傳遞機制 自動發出事件/訊息 訊息由系統負責傳送到佇列 有相關元件進行繫結/設定 後端自動選擇感興趣的事件並作出相應的
MIC、UIPI、Explorer.exe、Windows訊息傳遞的理解 ,附具體案例說明
MIC: Message Integrity Check,中文全稱:訊息完整性檢查 是Windows7新引人的概念,Windows XP、Windows Server 2003上面沒有,作用:給Windows的程序做一個安全物件標記,通過該標記來判斷程序的安全訪問許可權。