我对骡子工作室很陌生。
这是环境设置。
VM1= Windows 7、Visual Studio 2012、IIS 7。
IIS 7 中托管的 .net 4.5 WCF Web 服务,具有接受字符串并返回字符串的操作。
VM2= Ubuntu 13.4 OpenJDK 1.7.0_25 Mule Studio 3.5 社区版。
我创建了一个带有出站端点的 JAXWS-Client,通过单击 WSDL 中的生成并输入 IIS 中托管的 .net WCF Web 服务的 url 来完成此操作VM1。那很好。
然后,我在入站服务和出站客户端之间创建了一个带有 jaxws-Service 的入站端点,其中有一个记录器和一个字符串对象。
如果我设置一个普通的入站端点(无肥皂)并使用一个简单的 html 表单来发布它,一切都会正常工作,并且我会得到一个字符串返回到浏览器。但是,当流到达出站端点之前的 Soap 组件时,添加 Soap 组件会导致调度程序异常。
org.mule.api.transport.DispatchException:java.lang.reflect.Method
无法转换为 java.lang.String。无法通过以下方式路由事件
端点:org.mule.module.cxf.CxfOutboundMessageProcessor。信息
有效负载的类型:字符串
<flow name="testtwoFlow1" doc:name="testtwoFlow1">
<http:inbound-endpoint exchange-pattern="request-response" path="SimplePing" doc:name="HTTP" host="0.0.0.0" port="8081"/>
<cxf:jaxws-service serviceClass="TestTwo.IPing" doc:name="SOAP" />
<logger level="INFO" doc:name="Logger"/>
<object-to-string-transformer doc:name="Object to String"/>
<flow-ref name="testtwoFlow3" doc:name="Flow Reference"/>
</flow>
<sub-flow name="testtwoFlow3" doc:name="testtwoFlow3">
<cxf:jaxws-client operation="SimplePing" serviceClass="TestTwo.IPing" enableMuleSoapHeaders="true" doc:name="SOAP"/>
<logger level="INFO" doc:name="Logger"/>
<http:outbound-endpoint exchange-pattern="request-response" host="192.168.0.2" port="80" path="MuleExperiments/Ping.svc" method="POST" doc:name="HTTP" />
</sub-flow>
我在谷歌上进行了广泛的搜索,并且我一直在寻找显示入站服务与出站客户端交互的示例。或者描述抛出的异常、导致该异常的原因以及如何解决该异常。我猜想这很大程度上是因为服务和客户端是从相同的 WSDL 生成的,但我不认为这会是一个真正的问题。或者在我的 cxf:jaxws-service 和 cxf:jaxws-service 中,服务类是相同的。
此时此刻,我的目标是简单地输入/输出字符串
我的客户端配置错误。它应该是clientClass,而不是serviceClass,并且端口也需要设置。一旦我做了这些改变,我就开始工作了。
<cxf:jaxws-client
operation="SimplePing"
enableMuleSoapHeaders="true"
doc:name="SOAP"
clientClass="TestTwo.PingService"
port="BasicHttpBinding_IPing"
/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)