通过Mule ESB通过Web服务使用Web服务

时间:2015-11-30 15:30:39

标签: java web-services mule anypoint-studio

我有一个Web服务,它将名称发送到名为sayHello()的Web服务,并接收一个String" Hello,name"。 我想将点对点连接更改为以下内容:

网络服务---> Mule ESB --->网络服务

我想知道我该怎么做?我已经搜索了很长时间,但我没有找到有关此主题的有用文档。我应该使用哪些端点?

感谢。

2 个答案:

答案 0 :(得分:1)

这取决于您需要公开和使用的Web服务的类型:

对于公开基于SOAP的webservices ,您可以使用一些策略

1)使用Protocol Bridging或WSProxyService

代理web服务
  

https://docs.mulesoft.com/mule-user-guide/v/3.7/proxying-web-services

2)使用CXF代理Web服务

  

https://docs.mulesoft.com/mule-user-guide/v/3.7/proxying-web-services-with-cxf

3)使用CXF构建Web服务

  

https://docs.mulesoft.com/mule-user-guide/v/3.7/building-web-services-with-cxf

对于公开RESTful网络服务,您应该设计 RAML ,然后使用 APIKit 组件

  

http://raml.org/

     

https://docs.mulesoft.com/anypoint-platform-for-apis/apikit-tutorial

对于使用基于SOAP的Web服务,您应该使用 Webservice Consumer 组件

  

https://docs.mulesoft.com/mule-user-guide/v/3.7/web-service-consumer

对于使用REST网络服务,您应该使用 HTTP请求连接器

  

https://docs.mulesoft.com/mule-user-guide/v/3.7/http-request-connector

因此,如果要公开SOAP Web服务(不是代理服务),内部使用SOAP Web服务,您可以使用:

HTTPListener->CXF->WebserviceConsumer

如果您想公开网络服务代理,您可以使用ProtocolBridging或CXF策略。

如果要公开内部使用REST Web服务的REST Web服务,可以使用:

HTTPListener->APIKit->HTTPRequest

等等..

答案 1 :(得分:0)