在Mule上公开Web服务

时间:2013-02-11 18:09:59

标签: web-services wsdl mule

我希望在mule上公开WebService 及其工作。

  • 我担心的是,我不确定这是否是在公开网络服务时遵循的正确方法。
  • 因为我希望能够查看我的Mule HTTP入站端点wsdl,即
  

XXX:8084 / HelloService的WSDL

,请注意实际服务正在端口 8085 上运行。

 <flow name="WS_In" doc:name="WS_In">
    <http:inbound-endpoint address="http://localhost:8084/HelloService" exchange-pattern="request-response" doc:name="HTTP">
        <cxf:proxy-service wsdlLocation="http://localhost:8085/HelloService?WSDL" payload="envelope" namespace="http://example.org/HelloService"  service="Hello"/>
    </http:inbound-endpoint>        

    <http:outbound-endpoint exchange-pattern="request-response" host="localhost" port="8085" doc:name="HTTP" path="test"/>

</flow>

2 个答案:

答案 0 :(得分:0)

所以你不是公开服务而只是代理它?

为什么不使用现成的模式呢?请参阅:http://www.mulesoft.org/documentation/display/current/Web+Service+Proxy+Pattern

答案 1 :(得分:0)

代理Web服务是一种非常常见的做法,用于安全或审计等不同原因。此模式允许简单,轻松地配置此类代理。

有了这个,你可以

  1. 转换SOAP信封(正文或标题)以添加或删除特定条目。
  2. 重写远程WSDL,使它们似乎绑定到公司防火墙内的服务。
  3. Mule已经以各种方式定义了这些代理变换器: 参考:https://docs.mulesoft.com/mule-user-guide/v/3.7/web-service-proxy-pattern#wsdl-redirection