2015-04-21 5 views
0

В нашей местной сети мы имеем существующий веб-приложение типа IDE, доступ к которому через популярные веб-браузеры .
Я хотел бы использовать JBoss FUSE ESB в быть/акт как туннель между местной и/любой сети Cloud.
Для того, чтобы мы через клиент веб-браузера могли равномерно подключаться к приложению в сети, в которой находится браузер. Посылка req-res через ESB an в браузер клиента всегда.
Взаимодействуя с ServletApplication через JBoss-Fuse-ESB accross нескольких сетей

Я использую proxy approach:

  • I типа в 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> 

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

ответ

2

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

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

<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> 
+0

поэтому его нельзя продолжать использовать ESB после первой переадресации. Правильно? – yokodev

+0

Я не знаю, как приложение скажет верблюду, какой URL (ответ) есть/есть, потому что теперь req-res - это только приложение, и ESB веб-браузера больше не на картинке – yokodev

+0

Прямо сейчас после первого перенаправления (безопасность генерация токенов и т. д.), URL остается неизменным, тогда почти все - ajax. – yokodev

Смежные вопросы