私は、query-paramを使用してMule HTTPリクエストからREST(PHP)を呼び出しています。Mule HTTPリクエスト:大きな文字列を含むquery-paramエラー
これは小さなパラメータデータでうまくいきます。
しかし、パラメータ(rest_data)の1つはコンテンツファイル(Base64エンコード)です。ファイルの内容が大きい場合(>〜8K)、要求は失敗します。 paramsは大きな文字列をサポートしていないと思います。
この場合、本文の代わりにquery-paramを使用する方法は?
設定ファイルを参照してください:あなたがhttp:request
コンポーネント前set-payload
コンポーネントでペイロードにそのrest_dataを追加する必要がありますので
<http:request-config name="HTTP_Request_Configuration" host="164.164.164.233" port="80" basePath="/crmtec/service/v4_1/rest.php" doc:name="HTTP Request Configuration">
</http:request-config>
<http:request config-ref="HTTP_Request_Configuration" path="/" method="POST" doc:name="HTTP Documento">
<http:request-builder>
<http:query-param paramName="method" value="set_document_revisions"/>
<http:query-param paramName="input_type" value="JSON"/>
<http:query-param paramName="response_type" value="JSON"/>
<http:query-param paramName="rest_data" value="#[flowVars.params.rest_data]"/>
</http:request-builder>
<http:success-status-code-validator values="0..599"/>
</http:request>
私が変更され、現在どちらの小さなファイルで、動作しませんでした。私はMuleでPHP Rest(変更不可!)を消費しています。それは、データがデータではないことを理解するためには必要ですが、今は体に留まりますか? – Muka
あなたが消費しているREST APIがそのデータをクエリパラメータとして送信する必要がある場合、それが設計されているので、あまりできることはありません。 – afelisatti