如何在Mule 3中构建一个简单的Web代理?

tsh*_*ang 5 mule

我运行这个Mule 3文件,期望当我浏览时http://localhost:9000,我会被重定向到http://localhost/path(source - 在登录提示后面):

<?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:pattern="http://www.mulesoft.org/schema/mule/pattern"
      xsi:schemaLocation="
          http://www.mulesoft.org/schema/mule/pattern http://www.mulesoft.org/schema/mule/pattern/3.1/mule-pattern.xsd
          http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.1/mule.xsd">

    <pattern:web-service-proxy
        name="WSProxyService"
        inboundAddress="http://localhost:9000"
        outboundAddress="http://localhost/sugarcrm"/>

</mule>
Run Code Online (Sandbox Code Playgroud)

相反,我从网络浏览器收到这个不友好的消息:

‹mO=OÃ0Ýó+ŽL0KÂÈX‚&ˆJ-DÂŒ×øÀ•ì8rÜJý÷8)bb9éî}Ü{â¢y[©Ï®…µÝ@÷ñ´Y¯ ¿F\·ê±QÍ©‹±}Íe&LtV äÓ÷Ѳ¼)+Øú#kè88xˆö$ðf²Øy}šõ•ü‡›®™¥2Ú÷—Î`h·P  üõ›Ç{Dë{²ÆO§Ã7…>8Ì¥áÀIÇùOHƒ´
Run Code Online (Sandbox Code Playgroud)

Dav*_*sot 6

Web服务代理模式旨在与SOAP样式的Web服务一起使用.将浏览器指向它对您没有任何好处.

对于纯HTTP代理:

  • 使用新模式:http-proxy来自Mule 3.2并且已经可用于快照构建(示例),
  • 使用模式:使用HTTP进出端点桥接(示例).

前者是一个更好的选择,如果你不是快照厌恶,因为它扩展了对HTTP请求语义和即将到来的缓存模块的支持.

  • 默认情况下,web-service-proxy模式从outboundAddress +"?wsdl"获取WSDL,因此只有在WSDL不在默认位置时才需要指定wsdlLocation. (3认同)