2017-12-14 16 views
0

標準のMule HTTPリクエストでSOAPエンベロープを送信しようとしていますが、アウトバウンドリクエストのMedia-Typeの設定に問題があります。 webserviceは "application/soap + xml"を予期していますが、POSTリクエストに 'Content-Type:application/soap + xml'ヘッダーを設定したり、MIMEタイプをペイロードに設定しても動作しません。私はエラー415 - サポートされていないメディアタイプを取得し続けます。誰も私がこの問題を解決するために何ができるか考えていますか?これまでの私のXMLコード(私は名前と住所を変更した、考え方は同じまま):Mule ESB - メディアタイプのHTTPリクエストのオーバーライド

 <flow name="get-report"> 
    <http:listener config-ref="asdf-httpListenerConfig" path="/" doc:name="HTTP"/> 

    <custom-transformer encoding="UTF-8" mimeType="application/soap+xml" class="Authorization" doc:name="Java"/> 
    <logger message="#[payload]" level="INFO" doc:name="Logger"/> 

    <http:request config-ref="HTTP_Request_Configuration" path="path.svc" method="POST" doc:name="HTTP"> 
     <http:request-builder> 
      <http:header headerName="Content-Type" value="application/soap+xml"/> 
      <http:header headerName="action" value="someAction"/> 
      <http:header headerName="host" value="someHost"/> 
     </http:request-builder> 
    </http:request> 
    <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
</flow> 

「認証」変圧器は、今、私はちょうどエンベロープ全体をハードコーディングし、それを返す、実際には関係ありません。 また、同じアドレス、コンテンツタイプ、およびメディアタイプのsoapUIを使用してPOSTを実行すると、正常に動作します。

答えて

0

http:要求のヘッダーを設定すると、Content-Typeヘッダーが確実に設定されるはずですので、これは問題ではないと考えられます。 APIの実装に依存しますが、サポートされていないメディアタイプが要求Content-Type, Content-Encoding or by inspecting the data directlyによって発生する可能性があります。おそらく、それはXML構造によって引き起こされる可能性があります。

関連する問題