Взаимодействие с ServletApplication через Jboss-fuse-ESB в нескольких сетях

В нашей локальной сети у нас есть приложение типа веб-IDE, доступ к которому осуществляется через популярные веб-браузеры.
Я хотел бы использовать Jboss FUSE ESB, чтобы быть / действовать как туннель между локальной и облачной / любой сетью.
Чтобы мы через клиент веб-браузера могли безразлично подключаться к приложению к сети, в которой находится браузер. Все время отправлять запросы через ESB a клиентскому браузеру.

Я использую прокси-подход:

  • Я набираю URL в браузере, и он перенаправляет меня в приложение, использующее ESB только в первый раз.
  • затем я начинаю нормально взаимодействовать с приложением. но не через ESB.

это возможно с JBOSS-FUSE-ESB, или это неправильный инструмент для этой задачи?

<camelContext trace="true" id="blueprintContext" xmlns="http://camel.apache.org/schema/blueprint">
<route id="REQUEST">
    <from uri="jetty:http://0.0.0.0:1805/myRemoteApp?matchOnUriPrefix=true" id="TO-APP">
        <description/>
    </from>
    <to uri="jetty:http://my.cpny.com:1804/myapp/mainServlet?bridgeEndpoint=true&amp;throwExceptionOnFailure=false" id="RealServer-IN"/>        
</route>

любые предложения очень приветствуются.

1 ответ

Похоже, вы должны отправить обратно код состояния перенаправления HTTP с URL-адресом, который веб-браузер должен использовать для прямого взаимодействия с сервером без использования ESB.

Вы можете установить код состояния http и местоположение перенаправления, используя заголовки в сообщении Camel, например, после 1-го вызова.

<route id="REQUEST">
    <from uri="jetty:http://0.0.0.0:1805/myRemoteApp?matchOnUriPrefix=true" id="TO-APP">
        <description/>
    </from>
    <to uri="jetty:http://my.cpny.com:1804/myapp/mainServlet?bridgeEndpoint=true&amp;throwExceptionOnFailure=false" id="RealServer-IN"/>        
     .. // add logic here to compute the new url and set that as Location header. And then set a status code 30x for redirect
     <setHeader headerName="HttpStatusCode"><constant>300</constant></setHeader>
     <setHeader headerName="Location"><constant>http:blabla</constant></setHeader>
</route>
Другие вопросы по тегам