2016-05-03 35 views
0

私はサードパーティのAPIにファイルを提出しています。私は郵便配達を使用して要求をすることができ、および第三者が応答を受け付けます example postman request responseファイルをmuleからAPIに投稿

私のラバ・フローは、httpリクエストで始まり、そして私はmessage.inboundAttachments辞書にファイルを送信することが、私はないですミュールの流れで第三者にリクエストを作成する方法を確認してください。私が失敗しているかわからないのです

"Error sending HTTP request. Message payload is of type: DataHandler"

:私はペイロードにmessage.InboundAttachment [「契約」]の項目を設定しようとすると、私は一般的なメッセージが表示されます。

更新以下私が付着成分を用いて試みた流れの一部のスクリーンショットである:

<set-attachment attachmentName="#[message.inboundAttachments.Contract.dataSource.part.fileName]" value="#[message.inboundAttachments['Contract'].getInputStream()]" contentType="multipart/form-data" doc:name="Attaching Contract"/> 

I:

redacted flow screenshot

取付けコンポーネントは、次のように見えますこのメールを送信しようとすると次のエラーが発生します:

> ERROR 2016-05-03 11:26:45,597 
> [[pan.internal.api].api-httpListenerConfig.worker.01] 
> org.mule.exception.DefaultMessagingExceptionStrategy: 
> ******************************************************************************** Message    : Error sending HTTP request. Message payload is 
> of type: NullPayload Type     : 
> org.mule.api.MessagingException Code     : MULE_ERROR--2 
> JavaDoc    : 
> http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html 
> Payload    : {NullPayload} 
> ******************************************************************************** Exception stack is: 
> 1. Remotely closed (java.io.IOException) 
> 2. java.io.IOException: Remotely closed (java.util.concurrent.ExecutionException) 
> org.glassfish.grizzly.impl.SafeFutureImpl$Sync:349 (null) 
> 3. java.util.concurrent.ExecutionException: java.io.IOException: Remotely closed (java.io.IOException) 
> org.mule.module.http.internal.request.grizzly.GrizzlyHttpClient:245 
> (null) 
> 4. Error sending HTTP request. Message payload is of type: NullPayload (org.mule.api.MessagingException) 
> org.mule.module.http.internal.request.DefaultHttpRequester:287 
> (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html) 
> ******************************************************************************** Root Exception stack trace: java.io.IOException: Remotely closed 
> 
> ******************************************************************************** 

私はAttachment Content Typeフィールドもクリアしようとしましたが、これは必須と思われ、エラーも発生します。何か案は?

答えて

1

要求のペイロードとして添付ファイルを追加する必要はありません。実行する必要があるのは、InboundAttachmentsからOutboundAttachmentsに移動することです。リクエスター・コンポーネントはOutboundAttachmentsが存在することを検出し、そこにマルチパート/フォーム・データ要求を実行します。

HTH

コピーの添付ファイルが正しく、コンテンツの長さを設定し、その内容を通過するのではなく、添付ファイルを設定します更新:

<copy-attachments attachmentName="Contract" doc:name="Attaching Contract" /> 
+0

私は設定する必要があり、コンテンツの種類が何でありますか添付ファイルのコンテンツタイプ私はmultipart/form-dataに設定しましたが失敗しました –

+0

"バイナリ/オクテットストリーム"を試しましたが、次のエラーが表示されます:org.mule.api.MessagingException:MIMEタイプバイナリ/オクテットストリーム(javax.activation.UnsupportedDataTypeException)。メッセージペイロードのタイプは次のとおりです。NullPayload –

+0

getInputStreamメソッドを使用するように更新プログラムを調整しましたが、これで問題は解決すると思っていましたが、今はリモートからクローズしています。 –