У меня возникла ситуация, когда я создал прокси-службу, в которой я использовал встроенный wsdl, чтобы я мог передавать некоторые данные из инструмента try-it. После этого я хочу получить данные, переданные от try-it, в seq, которые я могу сделать. После этого нет необходимости использовать inline-wsdl. В «in-sequence» я использовал пользовательский посредник класса, внутри которого я установил свойство «user», и я сохранил это значение свойства (пользователя) в Property mediator. Теперь я хочу отправить это свойство в качестве ответа через последовательность. Как это сделать. Пожалуйста, помогите ... Мой код прокси:Возвращаемое значение свойства как ответ в прокси-сервисе
<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>
В приведенном выше коде я не могу попасть внутрь из последовательности. Это не ударяет по последовательности. Где я делаю неправильно?
Могу ли я сравнить два значения свойств, например: if (property1.value == property2.value), затем «сделать некоторое кодирование». как я могу это достичь? – Roy
Нет прямого способа сравнить два свойства. Вам нужно будет написать пользовательский посредник. Но вы можете сравнить свойство с некоторым значением или регулярным выражением через посредник фильтра. BTW, мой ответ исправить вашу проблему? –