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

В нашей локальной сети у нас есть существующее веб-приложение типа IDE, доступ к которому осуществляется через популярные веб-браузеры.
Я хотел бы использовать < strong>Jboss FUSE ESB быть/действовать в качестве туннеля между локальной и облачной/любой сетью.
Чтобы мы через клиент веб-браузера могли подключаться к приложению независимо от сети, в которой находится браузер. answer.html" rel="nofollow">req-res через ESB в клиентский браузер в любое время.

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

  • Я ввожу 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>

any suggestions are very much welcome.


person yokodev    schedule 21.04.2015    source источник


Ответы (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>
person Claus Ibsen    schedule 22.04.2015
comment
так что невозможно продолжать использовать ESB после первого перенаправления Правильно? - person yokodev; 22.04.2015
comment
Я не знаю, как приложение сообщит верблюду, что такое URL (ответ), потому что теперь req-res - это только приложение, а ESB веб-браузера больше не на картинке. - person yokodev; 22.04.2015
comment
Прямо сейчас после первого перенаправления (генерация токена безопасности и т. д.) URL-адрес остается прежним, тогда почти все является ajax. - person yokodev; 22.04.2015