【发布时间】:2015-10-16 21:03:59
【问题描述】:
请帮助我解决这个错误。我有一个肥皂客户端通过 3 操作调用该服务。所以在flow1中我设置了会话变量来存储操作。在 flow2 中,我使用 set property 来访问这些变量以作为 cxf:jaxws-client 之前的出站消息属性。 如此链接中所述:mule dynamically setting soap operation 但是我在创建 QName 时遇到异常,例如“本地部分不能为“null””。
我通过在设置属性之后保留记录器来进行监控。可以通过出站消息属性中的值查看操作。不知道为什么值没有放在soap操作字段中。请找到我的xml配置。
<flow name="Flow1" doc:name="eFlow" tracking:enable-default-events="false">
<wmq:inbound-endpoint queue="InputQ" connector ref="WMQ_Connector" doc:name="connector">
<wmq:transaction action="NONE"/>
</wmq:inbound-endpoint>
<set-session-variable variableName="cxf_operation"
value="#[xpath('fn:local-name(/root/*[2])')]" doc:name="Set_Operation" />
<some logic here.../>
</flow>
<flow name="Service_call" doc:name="Service">
<set-property propertyName="operation" value="#[sessionVars.cxf_operation]"
doc:name="Property" />
<logger message="***outbound properties: #[message.outboundProperties]***" level="INFO" doc:name="Logger"/>
<cxf:jaxws-client enableMuleSoapHeaders="true" doc:name="SOAP" serviceClass="com.valid.ICase"/>
<http:outbound-endpoint exchange-pattern="request-response"
method="POST" doc:name="HTTP" address="http://localhost:8085/callingService" />
<some logic here.../>
</flow>
我没有设置肥皂操作,因为我已经设置了属性。我仍然遇到错误。任何人都可以帮助解决这个问题。 但是当我手动输入操作名称时。可以看到回复。
【问题讨论】:
-
你能展示你的payload吗?
标签: mule mule-studio mule-el