请帮助我解决此错误。我有一个肥皂客户端通过 3 次操作调用该服务。所以在flow1中我设置了会话变量来存储操作。在 flow2 中,我使用set 属性来访问这些变量,以作为cxf:jaxws-client 之前的出站消息属性。如此链接中所述:mule 动态设置soap 操作,但我收到异常,例如“创建 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>
我没有设置肥皂操作,因为我已经设置了属性。我仍然遇到错误。任何人都可以帮助解决这个问题。但是当我手动输入操作名称时。可以看到回复。