我有一種情況,在我創建了代理服務的情況下,我已經使用了內聯wsdl,以便可以從try-it工具傳遞一些數據。之後,我想從try-it傳遞的數據到seq我能夠做到的。之後,沒有使用inline-wsdl。在「順序」我已經使用了一個自定義類中介,我已經設置了一個名爲「用戶」的屬性,我已經保存屬性值(用戶)屬性中介。現在我想發送這個屬性作爲響應通過序列。如何做到這一點。請幫助... 我的代理代碼是:在代理服務中返回屬性值作爲響應
<proxy xmlns="http://ws.apache.org/ns/synapse" name="ProviderPublication" transports="https,http" statistics="disable" trace="disable" startOnLoad="false">
<target>
<inSequence>
<property xmlns:xs="http://www.openandaway.org/xml/BBC/" name="URI" expression="//xs:SessionID" scope="default" type="STRING"/>
<payloadFactory>
<format>
<p:Session xmlns:p="http://www.openandaway.org/xml/BBC/">
<xs:ChannelURI xmlns:xs="http://www.openandaway.org/xml/BBC/">$1</xs:ChannelURI>
</p:Session>
</format>
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('URI')"/>
</args>
</payloadFactory>
<log level="full">
<property name="Inside_In_Sequence" value="---------Hi i am inside in sequence--------------"/>
</log>
<log level="full">
<property name="PropValFromURI" expression="get-property('URI')"/>
</log>
</inSequence>
<outSequence>
<log level="full">
<property name="Inside_Out_Sequence" value="-------Hi inside Out Sequence--------------------"/>
</log>
<property name="GetDataFromINSeq" expression="get-property('URI')" scope="default" type="STRING"/>
<log level="full">
<property name="GetPropValueFromInSeq" expression="get-property('URI')"/>
</log>
<send/>
</outSequence>
</target>
<publishWSDL uri="http://10.224.188.87:2425/BBC1.0/services/BBCPublicationService?wsdl"/>
<description></description>
</proxy>
在上面的代碼我不能夠讓出的序列中。它沒有擊中out-sequence.Where我做錯了嗎?
我可以比較兩個屬性值:if(property1.value == property2.value)然後「做一些編碼」。我怎麼能做到這一點? – Roy
沒有直接的方法來比較兩個屬性。你將不得不寫一個自定義中介來做到這一點。但是您可以通過過濾器介體將屬性與某個值或正則表達式進行比較。 順便說一句,我的答案是否解決了你的問題? –