2017-06-20 1 views
0

Ich versuche POST Dokumente zu Watson Discovery-Service über Postman. Es gibt mir die folgenden nicht-so-hilfreich Fehlermeldung, egal welche Art Dokument ich versuche:Empfangen eines 415 Fehler beim Einlesen eines Dokuments in Watson Discovery Service

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

Die Anfrage wie folgt aussieht:

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

mit dem Körper, um die Datei in Binär- und die Anmeldeinformationen enthält, in der Kopfzeile.

Ich kann diese Dokumente über das Sammlungs-Dashboard gut hochladen, also muss ich etwas falsch machen. Kann mir jemand sagen, was es ist?

Antwort

1

HTTP-Statuscode 415 trägt den Titel Nicht unterstützte Medientypen.

Es gibt zwei Ebenen, die einen 415 von Discovery auslösen können.

  1. Entdeckung fordert, dass die gesamte HTTP-POST-Anforderung eine mehrteiliger Form sein, wenn das Hinzufügen (oder Aktualisierung) ein Dokument (genauer gesagt: Content-Type: multipart/form-data; boundary= ...) Die Datei innerhalb dieser mehrteiliger Form Anforderung als Teil werden muss gesendet genannt file.

  2. Beim Senden des mehrteiligen Formulars kann die Datei, die Sie senden, oder möglicherweise nur die Content-Type-Kopfzeile, die Sie für den file-Teil senden, zurückgewiesen werden. Watson Discovery unterstützt HTML-, JSON-, PDF- und Microsoft Word-Dokumente. Alles andere erhält die Antwort 415, einschließlich, wenn Discovery den Inhaltstyp nicht richtig erraten. Discovery verwendet den Dateinamen als Hilfe zum Erraten des Inhaltstyps.

Relevante Fragen:

  • bündeln Sie Ihre Anfrage nach oben in multipart/form-data?
  • Welche Art von Datei senden Sie?
  • Was ist der Name der Datei, die Sie senden?
+0

Ich habe sowohl PDF-und Word-Dateien versucht. Die Dateien, die ich hochladen wollte, heißen ZSQ03011USEN.pdf und XBQ12358USDE.docx. Wie ich schon sagte, haben beide gut gegessen, wenn sie das Armaturenbrett benutzten. Ich werde versuchen, den Mime/Typ in den Headern manuell anzugeben. –

+0

Ah! OK. _Another_ thing Discovery erfordert, dass ein Dokument hinzugefügt (oder aktualisiert) wird, dass die _overall_ HTTP POST-Anfrage ein mehrteiliges Formular ist (genauer gesagt: 'Content-Type: multipart/form-data; boundary =' ...) Die Datei muss gesendet werden _within_ diese mehrteilige Formularanforderung als ein Teil namens 'Datei'. (Ich denke, ich sollte meine Antwort aktualisieren, um so etwas zu sagen.) –

Verwandte Themen