1

SAP Solution Manager Webservice をエンドポイントとして WSO2 ESB を使用しようとしています。メッセージを Web サービスに送信するには、SOAP ヘッダーを変更する必要があります。Google で検索しているときに、これには Enrich Mediator を使用できることがわかりました。しかし、ヘッダーにプレフィックスを追加する方法の例が見つかりませんでした。

私が持っているのはこれです:

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<urn:ReadCompleteIncident>
<IncidentGuid>xxxxx</IncidentGuid>
<SystemGuid>xxx</SystemGuid>
</urn:ReadCompleteIncident>
</soapenv:Body>
</soapenv:Envelope>

しかし、ESB はプレフィックス「urn:」を認識しないため、エラーが発生します。したがって、これを取得するには、「xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style"」をヘッダーに追加する必要があります。

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
<soapenv:Body>
<urn:ReadCompleteIncident>
<IncidentGuid>xxxxx</IncidentGuid>
<SystemGuid>xxx</SystemGuid>
</urn:ReadCompleteIncident>
</soapenv:Body>
</soapenv:Envelope>

Enrich Mediator でこれを行うにはどうすればよいですか? それとも別の解決策がありますか?

ありがとうございました :)

4

3 に答える 3

2

WSO2 ESB のヘッダー メディエーターを使用して、要件を達成できます。

<header name="Action" value="urn:ReadCompleteIncident"/>

詳細については、このリンクを参照してください。

http://docs.wso2.org/wiki/display/ESB460/Header+Mediator

于 2013-06-11T17:58:23.227 に答える
0

この問題を解決するには複数の方法があると思います-

  1. 要求または応答を操作するための payloadFactory メディエーター。

  2. スクリプト メディエーターの使用 - スクリプトの使用方法の詳細については、このページhttp://abeykoon.blogspot.com/2013/03/encoding-and-decoding-xml-using-wso2-esb.html#comment-formを確認してください。ご覧のとおり、ブロガーは、payloadFactory を使用してリクエストを生成し、スクリプトを使用してそれを操作して、目的の効果を得ています。

時間があれば、スクリプトを使用して簡単な解決策を作成しようと思います。

ではごきげんよう..

于 2013-08-07T17:07:35.303 に答える