WSO2 ESBのプロキシサービスから呼び出す必要のあるリモートWebサービスのWSDLファイルがあり、XSLT / Enrichを介してsoap:Bodyの要素を手動で構築する必要があるかどうか、または生成する方法があるかどうかを知りたいです。 soapenv:BodyはWSDLから含まれており、「?」を置き換える可能性があります。値について。
たとえば、以前にsoapUIを使用したことがある場合、プロジェクトにWSDLファイルをインポートすると、soapenv:EnvelopeがすべてのXML要素とその値の疑問符とともに自動的に生成されることがわかります。WSO2ESBのTryItツールについても同じことが言えます。
これは、WSDLをインポートした後のsoapUIで自動生成されたsoapenv:Envelopeの例です。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:abc="http://abc.com/">
<soapenv:Header/>
<soapenv:Body>
<abc:RegisterCandidate>
<abc:NameFirst>?</abc:NameFirst>
<abc:NameMiddle>?</abc:NameMiddle>
<abc:NameLast>?</abc:NameLast>
<abc:PhoneHome>?</abc:PhoneHome>
<abc:EmailAddress>?</abc:EmailAddress>
<abc:Address1>?</abc:Address1>
<abc:Address2>?</abc:Address2>
<abc:City>?</abc:City>
<abc:State>?</abc:State>
<abc:ZipCode>?</abc:ZipCode>
<abc:Country>?</abc:Country>
</abc:RegisterCandidate>
</soapenv:Body>
</soapenv:Envelope>
これは、WSDLを読み取り、XMLタグを使用してsoapenv:Bodyを生成するために使用できる任意のメディエーターを介してプロキシサービスで可能ですか(上記のコードでは、abc:RegisterCandidateとその子になります)?XSLテンプレートを使用して実行しましたが、手動であり、あまりエレガントではありません。
リモートWebサービスを呼び出すWSO2ESBでのプロキシサービスの記述に関するいくつかの記事/ブログをオンラインで見つけました。そこで開発者が行っていたのは、soapenv:Bodyに必要なXML要素をXSLテンプレートを使用して挿入することでした。正しい/完全なSOAPメッセージがあり、それがリモートWebサービスサーバーに送信(メディエーターを送信)されます。
ありがとうございました。