使用Synapse 2.1,我試圖將沒有標頭的XML消息轉換爲帶有包含憑證的標頭的SOAP消息以使用Web服務。事情是這樣的:向Synapse中的XML消息添加標頭
突觸傳入消息:
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
...TAGS...
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
突觸傳出消息:
<SOAP-ENV:Envelope>
<SOAP-ENV:Header>
<yta:Authentication>
<yta:UserName>srnm</yta:UserName>
<yta:Password>psswrd</yta:Password>
</yta:Authentication>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
...TAGS...
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我如何可以配置突觸辦呢?我成功地使用了一個轉換文件來更新消息的主體,但不是向輸出添加一個頭。
我嘗試在配置文件中使用頭文件和屬性介體,但我不確定要走的路是什麼。閱讀關於頭中介它說:「目前設置頭只支持簡單的值標頭」。情況會是這樣嗎?
謝謝
謝謝謝蘭。我實際上已經嘗試將它添加到XSLT轉換中,但它不起作用。所以,現在我認爲Web服務需要發送HTTP頭中的憑證。是否有可能與任何現有的調解人(考慮標題或財產)做到這一點? – pbons
您使用XSLT時遇到了什麼問題?你有沒有給源碼?「。正如論壇帖子中提到的那樣?這不是名稱值對,而是分層結構。其他選項是使用類中介來構造消息。你有完全的訪問權限。 http://docs.wso2.org/wiki/display/ESB460/Sample+380%3A+Writing+your+own+Custom+Mediation+in+Java –
當我使用XSLT方法時,出現錯誤「無操作在Web服務提供者中存在名爲Envelope的Web服務「,所以我知道它將」「中的Envelope作爲匿名用戶在Web服務中的操作和身份驗證。按照你的建議,我會考慮使用類中介。我正在研究Groovy或JavaScript等內聯腳本。你認爲使用其中的任何一個創建頭文件是很容易的嗎? –
pbons