Mule で Web サービス プロキシ パターンを使用する場合、1 つ以上のトランスフォーマーを介してメッセージを渡すことができます。たとえば Content-Type でフィルタリングされた ?Wsdl gets またはその他のメッセージを渡すことを回避する方法はありますか? 私のトランスフォーマーは、XML ペイロードを Web サービスに渡す前に操作していますが、私の wsdl 呼び出しもトランスフォーマーによって処理され、失敗していることがわかりました。
トランスコードにチェックを入れましたが、これはこれを解決するための正しい方法ではないようです。
if(message.getOriginalPayload().toString().endsWith("wsdl")||!(xmlString.startsWith("<") && xmlString.endsWith(">"))){return message; }
プロキシ構成:
<pattern:web-service-proxy name="SR-Proxy"
doc:name="SR-Proxy"
transformer-refs="enrichPayloadWithSFSession"
wsdlFile="service/SR_Webservice.wsdl">
<http:inbound-endpoint exchange-pattern="request-response" host="${hostname}" port="${http.port}" path="service/SRProxy" doc:name="HTTP" />
<https:outbound-endpoint exchange-pattern="request-response" address="${sfdc.wsUrl}SR_Webservice" />
</pattern:web-service-proxy>