2017-02-03 8 views
0

Muleを使用してAPIをリクエストしたい。ファイルをアップロードするためにMultipart/related Content-Typeを使用しています.Imuleで境界情報を渡す方法がわかりません。送信するペイロードに入力を設定する方法それを変換メッセージコンポーネントに入れようとしましたが、エラーが表示されました。 enter image description hereMuleでマルチパート/関連リクエストを渡すには?

enter image description hereenter image description here

答えて

1

あなたは、必要に応じて、フォームの部品を作成するために、アウトバウンド添付ファイルのコレクションを使用することができ、かつ境界を指定する必要はありません。助け

POST/HTTP/1.1 
Host: localhost:80 
User-Agent: AHC/1.0 
Connection: keep-alive 
Accept: */* 
Content-Type: multipart/form-data; boundary=pHSj1qavizuHBv879Hoo_RQ9tFqtAfS9i;charset=UTF-8 
Content-Length: 438 

--pHSj1qavizuHBv879Hoo_RQ9tFqtAfS9i 
Content-Disposition: form-data; name="some-json.json" 
Content-Type: application/json 
Content-Transfer-Encoding: binary 

{ "name": "My File" } 
--pHSj1qavizuHBv879Hoo_RQ9tFqtAfS9i 
Content-Disposition: form-data; name="myfile.txt"; filename="myfile.txt" 
Content-Type: text/plain 
Content-Transfer-Encoding: binary 

This is just some random text file... 

--pHSj1qavizuHBv879Hoo_RQ9tFqtAfS9i-- 

希望:ミュール問題がある

<scripting:component doc:name="Groovy"> 
    <scripting:script engine="Groovy"><![CDATA[ 
    message.addOutboundAttachment('some-json.json', '{ "name": "My File" }', 'application/json'); 
    message.addOutboundAttachment('myfile.txt', new java.io.File('c:\\myfile.txt'), null); 
    ]]></scripting:script> 
</scripting:component> 
<http:request config-ref="HTTP_Request_Configuration" path="/" method="POST" doc:name="HTTP"/> 

アウトバウンドHTTPリクエスト:

はたとえば、次のようミュールの設定を検討してください。

+0

どのようにしてBufferInputStreamオブジェクトをFileContentとして渡すことができますか。私はローカルシステムからファイルをアップロードしていません。 – RakeshSharma227

+0

上記の例では 'new File(...)'文をあなたのストリームに置き換えることができます。メモリから、私はそれがこれを処理できると信じています。これを行うにはGroovy /スクリプトコードを使用する必要はありませんが、Mule PaletteにはAttachmentトランスフォーマーがあります。 –

関連する問題