0

我想在 mule 上公开一个 WebService 及其工作。

  • 我担心的是,我不确定这是否是公开 Web 服务的正确方法。
  • 因为我希望能够查看我的 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>
4

2 回答 2

0

因此,您不是在公开服务,而只是在代理它吗?

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

于 2013-02-11T19:35:41.983 回答
0

代理 Web 服务是一种非常常见的做法,用于安全或审计等不同原因。这种模式允许对这种代理进行简短而简单的配置。

有了这个你可以

  1. 转换 SOAP 信封(正文或标头)以添加或删除特定条目。
  2. 重写远程 WSDL,使它们看起来绑定到公司防火墙内的服务。

Mule 已经以各种方式定义了这些代理转换器:参考:https ://docs.mulesoft.com/mule-user-guide/v/3.7/web-service-proxy-pattern#wsdl-redirection

于 2015-12-12T01:37:37.780 回答