Получение ответа об ошибке 404, когда поток mule вызывает другой через HTTP, даже если сервер включен

#mule #esb #mule-studio #anypoint-studio

#mule #esb #mule-studio #anypoint-studio

Вопрос:

У меня есть поток mule, вызывающий другой поток в том же приложении по протоколу HTTP на другом порту.

Но я получаю ответ с ошибкой 404, даже когда сервер запущен. Ниже приведена моя конфигурация XML.

 <http:request-config name="HTTP_Request_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Request Configuration"/>
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<http:listener-config name="HTTP_Listener_Configuration1" host="0.0.0.0" port="8082" doc:name="HTTP Listener Configuration"/>
<flow name="mule1Flow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/flows" doc:name="HTTP"/>
    <set-variable variableName="mule1flowVar" value="mule1flowVar" doc:name="Variable"/>
    <set-payload value="Flow var = #[flowVars.mule1flowVar]" doc:name="Set Payload"/>
    <logger message="#[payload]" level="INFO" doc:name="Logger"/>
    <http:request config-ref="HTTP_Request_Configuration" path="/flows2" method="GET" doc:name="HTTP"/>
</flow>
<flow name="mule1Flow1">
    <http:listener config-ref="HTTP_Listener_Configuration1" path="/flows2" doc:name="HTTP"/>
    <logger message="this is flow 2" level="INFO" doc:name="Logger"/>
</flow>
  

Файл журнала показывает ошибку ниже:
Прослушиватель для запроса: (GET) / flows2 не найден.
Доступные прослушиватели: [(*)/flows /].

Комментарии:

1. Вы не получите 404, когда сервер не работает, вы получите 500 или тайм-аут запроса. Вам понадобится Request_Configuration для порта 8082.

Ответ №1:

Ваш запрос-конфигурация должен иметь порт 8082.

Ответ №2:

http-прослушиватель во втором потоке прослушивает с использованием порта 8082, но ваш http-запросчик, который пытается вызвать его, использует 8081. Измените http-запрос или используйте порт 8082

Ответ №3:

Измените порт конфигурации запросов на 8082.Порт http-запрашивающего должен совпадать с портом потока прослушивателя.