#http #redirect #mule
#http #перенаправление #mule
Вопрос:
Я пытаюсь перенаправить запросы HTTP GET на отдельный веб-сервер. Я не смог найти ни одного примера кода. Я настроил mule.xml как показано ниже. Я думаю, что должен быть лучший способ, чем этот. Есть идеи? Спасибо.
<flow name="sampleInsert" doc:name="sampleInsert">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" responseTimeout="1" doc:name="HTTP" path="indb/sampleInsert" >
</http:inbound-endpoint>
<logger level="INFO" doc:name="Logger" message="In Time #[server.dateTime]"/>
<logger level="INFO" doc:name="Logger" message="Out Time #[server.dateTime]"/>
<http:outbound-endpoint address="http://www.mulesoft.org/" doc:name="HTTP" exchange-pattern="request-response" followRedirects="true" method="GET"/>
</flow>
Ответ №1:
Это допустимый шаблон, но существует также готовый шаблон для http-прокси:
http://www.mulesoft.org/documentation/display/current/HTTP Proxy Pattern
Или вместо этого вы можете разрешить перенаправление клиента, установив заголовок http ‘Location’ и 30-кратный код ответа:
<flow name="testResponseMove" processingStrategy="synchronous">
<http:inbound-endpoint address="http://localhost:${port1}/resources/move" exchange-pattern="request-response"/>
<http:response-builder status="302">
<http:location value="http://localhost:9090/resources/moved"/>
</http:response-builder>
<echo-component/>
</flow>
Комментарии:
1. Большое вам спасибо. Я искал помощь последние 2 часа. Спасибо!
2. хорошо, этот URL-адрес теперь переходит к 404, и сборка ответа была обесценена. как вы это решаете?