Во время исследования моего MSC я столкнулся с проблемой, которую я не понимаю. Сценарий: запуск простого потока путем вызова REST api. Поток устанавливает статическую полезную нагрузку и вызывает другой REST api.Исключение мула после компонента Джерси
Если я позвоню следующий поток я получил исключение:
<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>
Calling приведет следующее исключение:
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)
Если удалить Джерси часть потока ИЛИ НТТР-requeswt -части результирующая часть потока работает нормально. Проблема только в сочетании.
Служба «CAM» нуждается в json в качестве типа MIME.
Есть ли простая основная ошибка, которую я сделал?
Надеюсь, кто-нибудь может мне помочь. Большое вам спасибо!
Спасибо за ваш ответ. К сожалению, это не помогло. Я пробовал оба варианта и комбинации. Но каждый раз, когда я использую компонент трикотажа, это исключение происходит. Я не вижу ясно, если это мул, который жалуется на 415 или Камунду. Но если я не стану json, жалуется камунда. Поэтому я думаю, что это Мул. Я понятия не имею, как двигаться дальше. Надеюсь, вы могли бы поделиться со мной другой идеей. – blaine
Когда вы вызываете Mule API, можете ли вы попробовать добавить следующий заголовок: Accept: application/json? –