#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-запрашивающего должен совпадать с портом потока прослушивателя.