Как реализовать перенаправление метода Mule HTTP GET?

#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, и сборка ответа была обесценена. как вы это решаете?