我的代码:
<filter xpath="get-property('statusFromClassMed')='Valid'">
<then>
<log level="custom">
<property name="InsideValidFilter" value="--------State is Valid-------"/>
</log>
<log level="custom">
<property name="STATE" value="message is sent to queue"/>
</log>
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
***<send>
<endpoint key="jmsMBendpoint"/>
</send>***
<header name="To" action="remove"/>
<property name="RESPONSE" value="true" scope="default" type="STRING"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<payloadFactory>
<format>
<ns1:PostPublicationResponse xmlns:ns1="http://www.openoandm.org/xml/ISBM/">
<ns1:MessageID>$1</ns1:MessageID>
<ns1:MessageContent>$2</ns1:MessageContent>
</ns1:PostPublicationResponse>
</format>
<args>
<arg expression="get-property('getMessageIDFromClassMed')"/>
<arg expression="get-property('MessageContent')"/>
</args>
</payloadFactory>
***<send/>***
</then>
<else>
<log level="custom">
<property name="InsideNonValidFilter" value="--------State is InValid-------"/>
</log>
<header name="To" action="remove"/>
<property name="RESPONSE" value="true" scope="default" type="STRING"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<payloadFactory>
<format>
<soapenv:Fault xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Code>
<soapenv:Value>soapenv:Receiver</soapenv:Value>
</soapenv:Code>
<soapenv:Reason>
<soapenv:Text xml:lang="en-US">Invalid Parameter</soapenv:Text>
</soapenv:Reason>
<soapenv:Detail/>
</soapenv:Fault>
</format>
</payloadFactory>
<send/>
</else>
</filter>
我在我的 In-Sequence 中使用了一个过滤器。如果过滤器为真,那么我必须将有效负载发送到在我的端点中定义的消息代理队列,因此我使用发送调解器,之后我必须发送有效负载作为响应。但由于使用了两个发送调解器,有时我会得到试用代理。如何解决这种情况?还有一个问题?我在我的主题属性中传递了多个主题参数。但它只获得单一价值提前谢谢