mule 怎样集成外部的webservice? 比如A机器和B机器分别使用cxf发布了一个webservice,C机器部署了mule应用,我想在mule应用里集成A机器和B机器中的webservice,所有的请求通过访问mule应用来调用实际的webservice,并且根据webservice的响应去和另一个异构系统做交互,这样的场景可以实现吗?具体应该怎样去做?有没有例子提供一下?求教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然可以。1、先把A和B上的服务做成proxy,放到mule中去。2、在访问outbound endpoint的返回中加入自己的集成逻辑3、集成逻辑里拿到响应信息,处理异构系统的交互4、最后再返回。其中2-3也可以考虑做成异步的,或是走jms。 <?xml version="1.0" encoding="UTF-8"?><mule xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:jms="http://www.mulesoft.org/schema/mule/jms" xmlns:email="http://www.mulesoft.org/schema/mule/email" xmlns:vm="http://www.mulesoft.org/schema/mule/vm" xmlns:jdbc="http://www.mulesoft.org/schema/mule/jdbc" xmlns:stdio="http://www.mulesoft.org/schema/mule/stdio" xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd http://www.mulesoft.org/schema/mule/email http://www.mulesoft.org/schema/mule/email/current/mule-email.xsd http://www.mulesoft.org/schema/mule/jdbc http://www.mulesoft.org/schema/mule/jdbc/current/mule-jdbc.xsd http://www.mulesoft.org/schema/mule/stdio http://www.mulesoft.org/schema/mule/stdio/current/mule-stdio.xsd "> <mulexml:object-to-xml-transformer name="Object_to_XML" doc:name="Object to XML"/> <!-- 提供HTTP入口的数据更新服务 --> <flow name="dataUpdateByHttpFlow" doc:name="dataUpdateByHttpFlow"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="demo" doc:name="HTTP" responseTransformer-refs="Object_to_XML"/> <flow-ref name="GetDataFlow" doc:name="Flow Reference"/> </flow> <!-- 通过数据抽取服务获取数据 --> <flow name="GetDataFlow" doc:name="GetDataFlow"> <set-payload value="mule" doc:name="Parameters"/> <http:outbound-endpoint address="computerA" responseTimeout="100000" doc:name="HTTP endpoint"> <!-- 可以根据wsdl进行相应的配置 --> <cxf:jaxws-client operation="" clientClass="" port="" doc:name="SOAP"/> </http:outbound-endpoint> <byte-array-to-object-transformer doc:name="Byte Array to Object"/> <vm:outbound-endpoint exchange-pattern="one-way" doc:name="VM" path="datas"/> </flow> <!-- 通过数据插入服务添加数据 --> <flow name="insertData" doc:name="insertData"> <vm:inbound-endpoint exchange-pattern="one-way" path="datas" doc:name="VM"/> <custom-transformer class="yourTransformer" doc:name="Java"/> <!-- 可以根据wsdl进行相应的配置 --> <cxf:jaxws-client operation="" clientClass="" port="" doc:name="SOAP"/> <http:outbound-endpoint address="computerB" responseTimeout="100000" doc:name="HTTP endpoint"/> </flow></mule>给你提供一个通过mule集成得到数据更新服务的一个模板你可以参考着这个进行添写,至于里面的operation就是wsdl中的operation而clientClass对应的就是你生成的本地Service类 兄弟们。。。帮帮忙看下哈。。。。。 JSP关于发表文章 大家早上好.请大哥大姐帮帮忙 请问这是出现了什么情况?? web.xml的疑问 小弟先谢过大家 请大家帮我看看 分不够再加 急!tomcat报错,到出现什么问题? 初学者 用java访问SQL数据库应做些什么工作,步骤,并请用代码举例? 一段生成XML,并将结果以字符串输出的代码,有问题,请帮忙看看吧! 大神求解,聊天框怎么只显示10条消息。 jasperreport linux环境导出PDF 为什么中文标题可以显示,但图表中的中文都出不来
1、先把A和B上的服务做成proxy,放到mule中去。
2、在访问outbound endpoint的返回中加入自己的集成逻辑
3、集成逻辑里拿到响应信息,处理异构系统的交互
4、最后再返回。其中2-3也可以考虑做成异步的,或是走jms。
xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd
http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd
http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/email http://www.mulesoft.org/schema/mule/email/current/mule-email.xsd
http://www.mulesoft.org/schema/mule/jdbc http://www.mulesoft.org/schema/mule/jdbc/current/mule-jdbc.xsd
http://www.mulesoft.org/schema/mule/stdio http://www.mulesoft.org/schema/mule/stdio/current/mule-stdio.xsd ">
<mulexml:object-to-xml-transformer name="Object_to_XML" doc:name="Object to XML"/>
<!-- 提供HTTP入口的数据更新服务 -->
<flow name="dataUpdateByHttpFlow" doc:name="dataUpdateByHttpFlow">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="demo" doc:name="HTTP"
responseTransformer-refs="Object_to_XML"/>
<flow-ref name="GetDataFlow" doc:name="Flow Reference"/>
</flow>
<!-- 通过数据抽取服务获取数据 -->
<flow name="GetDataFlow" doc:name="GetDataFlow">
<set-payload value="mule" doc:name="Parameters"/>
<http:outbound-endpoint address="computerA" responseTimeout="100000" doc:name="HTTP endpoint">
<!-- 可以根据wsdl进行相应的配置 -->
<cxf:jaxws-client operation="" clientClass="" port="" doc:name="SOAP"/>
</http:outbound-endpoint>
<byte-array-to-object-transformer doc:name="Byte Array to Object"/>
<vm:outbound-endpoint exchange-pattern="one-way" doc:name="VM" path="datas"/>
</flow>
<!-- 通过数据插入服务添加数据 -->
<flow name="insertData" doc:name="insertData">
<vm:inbound-endpoint exchange-pattern="one-way" path="datas" doc:name="VM"/>
<custom-transformer class="yourTransformer" doc:name="Java"/>
<!-- 可以根据wsdl进行相应的配置 -->
<cxf:jaxws-client operation="" clientClass="" port="" doc:name="SOAP"/>
<http:outbound-endpoint address="computerB" responseTimeout="100000" doc:name="HTTP endpoint"/>
</flow>
</mule>
给你提供一个通过mule集成得到数据更新服务的一个模板你可以参考着这个进行添写,至于里面的operation就是wsdl中的operation而clientClass对应的就是你生成的本地Service类