2015-02-10 2 views
-1

У меня есть веб-приложение Spring MVC, которое выполняет операции CRUD на Tomcat Server. Могу ли я использовать Mule ESB в качестве обработчика запросов до Tomcat. Например, пользователи запрашивают localhost: 8181/user/create (порт Mule ESB) и запрос перенаправления Mule на localhost: 8080/user/create (порт сервера Tomcat) и отправляют ответ обратно по мулу. Я использую Mule ESB для веб-сервисов, но я не понимаю, как использовать Mule ESB для запросов веб-приложений.Интеграция веб-приложений Mule ESB + TOMCAT

ответ

1

Вы можете использовать новый модуль HTTP выпущен в 3.6 и создать прокси-сервер, используя этот поток:

<?xml version="1.0" encoding="UTF-8"?> 
<mule xmlns="http://www.mulesoft.org/schema/mule/core" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:http="http://www.mulesoft.org/schema/mule/http" 
     xsi:schemaLocation=" 
       http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
       http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd"> 

    <http:listener-config name="proxyConfig" host="localhost" port="${proxyPort}" /> 
    <http:request-config name="requestConfig" host="localhost" port="${httpPort}" /> 
    <flow name="proxyTemplate"> 
     <http:listener config-ref="proxyConfig" path="/*" responseStreamingMode="AUTO" parseRequest="false" > 
      <http:response-builder statusCode="#[message.inboundProperties['http.status']]" reasonPhrase="#[message.inboundProperties['http.reason']]" /> 
     </http:listener> 

     <copy-properties propertyName="*" /> 
     <remove-property propertyName="http.*" /> 
     <copy-attachments attachmentName="*" /> 

     <set-property propertyName="X-Forwarded-For" value="#[message.inboundProperties['http.remote.address']]" /> 

     <http:request config-ref="requestConfig" method="#[message.inboundProperties['http.method']]" path="#[message.inboundProperties['http.request.path']]" parseResponse="false" > 
      <http:request-builder> 
       <http:query-params expression="#[message.inboundProperties['http.query.params']]" /> 
      </http:request-builder> 
     </http:request> 

     <copy-properties propertyName="*" /> 
     <remove-property propertyName="http.*" /> 
     <copy-attachments attachmentName="*" /> 
    </flow> 

</mule> 
Смежные вопросы