2016-06-30 7 views
0

Ich verwende Scala Akka HTTP, um einen API-Aufruf durchzuführen, der einen benutzerdefinierten Inhaltstyp erfordert (z. B. application/vnd + company.category + json). Die API, die ich verwenden möchte, benötigt diesen Inhaltstyp in der Kopfzeile. Per Akka HTTP-Dokumentation, Content-Type kann nicht explizit in die Header der HTTP-Anfrage gesetzt werden und muss mit der contentType-Eigenschaft der HttpEntity gesetzt werden. Ich bin mir nicht sicher, was Akka mit dem in HttpEntity eingestellten contentType tut, aber es erscheint offensichtlich nicht in der Header-Sequenz der HTTP-Nachricht (wie hier definiert: http://doc.akka.io/docs/akka-stream-and-http-experimental/1.0/scala/http/common/http-model.html). Als Ergebnis erhalte ich durchweg den Fehler 415: SRVE0295E, was zu "415 Nicht unterstützter Medientyp" führt. Die Anfrageeinheit hat einen Medientyp, den der Server oder die Ressource nicht unterstützt. " Ich habe die API über curl mit -H Content-Type des gleichen benutzerdefinierten Inhaltstyps, den ich mit Akka HTTP verwendet habe, ausprobiert und erhalte eine Erfolgsantwort. Hat jemand schon mal ein ähnliches Problem gehabt?Error 415: SRVE0295E bei Verwendung von Scala Akka HTTP

+0

Was ich habe: 'val customContentType = MediaType.applicationWithFixedCharset ("VND + company.category + json", HttpCharsets.'UTF-8') .toContentType var request = RequestBuilding.Post (requestPath) .withHeadersAndEntity (headersList, HttpEntity (customContentType, ByteString (Nutzlast)) – jdecastro

Antwort

0

Wie sich herausstellt, hat die API, die ich verwende, mehrere Varianten des benutzerdefinierten Inhaltstyps, die jeweils spezifisch für den zu konsumierenden API-Endpunkt sind. Das ist also kein Akka-HTTP-Problem.