2017-06-20 6 views
0

POST郵便配達員経由でワトソンのディスカバリーサービスに文書を送ろうとしています。ボディはバイナリでファイルや資格情報を含むとワトソンディスカバリーサービスに文書を取り込むときに415エラーが発生する

https://gateway.watsonplatform.net/discovery/api/v1/environments/7c83f310-0f3a-4ad0-bb71-5f260672cbca/collections/c0080236-aac1-405c-8111-322caa6b0b65/documents?version=2016-12-01 

:要求がどのように見える

{ 
"code": 415, 
"error": "The request failed. Please try again."} 

:それは関係なく、どのような私がしようと、ドキュメント私に次それほど役に立たないエラーメッセージを与えませんヘッダーに

私はこれらのドキュメントをコレクションダッシュボードからアップロードできますので、何か間違っている必要があります。誰がそれが何であるか教えてもらえますか?

答えて

1

HTTPステータスコード415は、というタイトルのサポートされていないメディアタイプです。

Discoveryから415をトリガできるレベルは2つあります。ファイルは、一部として、そのマルチパートフォーム要求内で送信される必要がある:

  1. ディスカバリー(Content-Type: multipart/form-data; boundary= ...正確に)全体的なHTTP POSTリクエストがマルチパートフォーム、文書追加(または更新)することが要求しますfileという名前です。

  2. マルチパートフォームを送信する場合、送信するファイル、またはの部分のために送信しているContent-Typeヘッダーだけを拒否することができます。 Watson Discoveryは、HTML、JSON、PDFおよびMicrosoft Word文書をサポートしています。ディスカバリーがコンテンツタイプを正しく推測しない場合を含め、他のものは415応答を得るでしょう。検出は、コンテンツタイプが何であるかを推測する助けとしてファイル名を使用します。

関連質問:

  • あなたがmultipart/form-dataであなたの要求アップをバンドルしていますか?
  • どのようなファイルを送信していますか?
  • 送信しているファイルの名前はですか?
+0

PDFファイルとWordファイルの両方を試しました。アップロードしようとしていたファイルの名前はZSQ03011USEN.pdfとXBQ12358USEN.docxでした。私が言ったように、彼らは両方とも、ダッシュボードを使用して罰金を摂取した。私は手動でヘッダーのmime/typeを指定しようとします。 –

+0

ああ! OK。 _Another_ thingドキュメントを追加(または更新)するためのディスカバリー要求は_overall_HTTP POSTリクエストがマルチパートフォーム(正確には 'Content-Type:multipart/form-data; boundary =' ...)であることです。ファイルを送信する必要がありますそのマルチパートフォームリクエストを 'file'という名前のパートとして_within_します。 (私はこのようなことを言うために私の答えを更新すべきだと思います。) –