Während der Forschung für meine MSC habe ich ein Problem, das ich nicht verstehe. Das Szenario: Starten eines einfachen Flusses durch Aufruf einer REST API. Der Flow setzt eine statische Payload und ruft eine andere REST API auf.Mule Ausnahme nach Jersey Komponente
Wenn ich rufe Sie den folgenden Ablauf ich eine Ausnahme bekam:
<http:listener-config name="HTTP_Listener_Configuration_Inbound"
host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration_Inbound" />
<http:request-config name="cam" host="localhost"
port="8090" basePath="/engine-rest" doc:name="cam-connection" />
<flow name="receiveOrderFlowRest">
<http:listener config-ref="HTTP_Listener_Configuration_Inbound"
path="/orderDomain/services/rest/*" doc:name="HTTP-Inbound" />
<jersey:resources doc:name="REST">
<component class="de.tj.msc.orderDomain.services.rest.ReceiveOrderRestImpl" />
</jersey:resources>
<set-payload
value="{}"
doc:name="Set Payload" />
<http:request config-ref="cam"
path="process-definition/key/orderDomain-main/submit-form" method="POST"
doc:name="cam-startNewProcess"
parseResponse="false">
<http:request-builder>
<http:header headerName="Content-Type" value="application/json" />
</http:request-builder>
</http:request>
</flow>
Berufung wird folgende Exception:
org.mule.module.http.internal.request.ResponseValidatorException: Response code 415 mapped as failure. Message payload is of type: BufferInputStream
at org.mule.module.http.internal.request.SuccessStatusCodeValidator.validate(SuccessStatusCodeValidator.java:37)
at org.mule.module.http.internal.request.DefaultHttpRequester.validateResponse(DefaultHttpRequester.java:311)
at org.mule.module.http.internal.request.DefaultHttpRequester.innerProcess(DefaultHttpRequester.java:299)
at org.mule.module.http.internal.request.DefaultHttpRequester.processBlocking(DefaultHttpRequester.java:186)
Wenn ich den Trikot-Teil des Flusses oder den http-requeswt entfernen - der resultierende Teil der Strömung funktioniert gut. Nur beides in Kombination ist das Problem.
Der Dienst "CAM" benötigt json als MIME-Typ.
Gibt es einen einfachen Grundfehler, den ich gemacht habe?
Ich hoffe, dass mir jemand helfen konnte. Vielen Dank!
Dank für Ihre Antwort danken. Leider hat das nicht geholfen. Ich habe beide Optionen und Kombinationen ausprobiert. Aber jedes Mal, wenn ich die Jersey-Komponente verwende, tritt diese Ausnahme auf. Ich kann nicht klar sehen, ob es Maultier ist, das sich über 415 oder Camunda beschwert. Aber wenn ich JSON nicht setze, beschwert sich Camunda. Also ich denke es ist Mule. Ich habe keine Ahnung, wie ich weitermachen soll. Ich hoffe, du könntest eine andere Idee mit mir teilen. – blaine
Wenn Sie die Mule-API aufrufen, können Sie versuchen, den folgenden Header hinzuzufügen: Accept: application/json? –