Wso2 返回属性值作为代理服务中的响应

Wso2 返回属性值作为代理服务中的响应,wso2,wso2esb,Wso2,Wso2esb,我有一种情况,在中我创建了一个代理服务,在中我使用了一个内联wsdl,以便可以从try-it工具传递一些数据。在这之后,我希望将数据从try-it传递到我能够做的seq中,之后就不再使用内联wsdl了。在“In sequence”中,我使用了一个自定义类中介,在其中设置了一个名为“user”的属性,并将该属性值(user)保存在属性中介中。现在我想通过out序列发送这个属性作为响应。如何做到这一点。请帮忙。。。 我的代理代码是: <proxy xmlns="http://ws.apache

我有一种情况,在中我创建了一个代理服务,在中我使用了一个内联wsdl,以便可以从try-it工具传递一些数据。在这之后,我希望将数据从try-it传递到我能够做的seq中,之后就不再使用内联wsdl了。在“In sequence”中,我使用了一个自定义类中介,在其中设置了一个名为“user”的属性,并将该属性值(user)保存在属性中介中。现在我想通过out序列发送这个属性作为响应。如何做到这一点。请帮忙。。。 我的代理代码是:

<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>

$1

在上面的代码中,我无法进入出序列的内部。它没有按顺序执行。我哪里做错了?

您可以按顺序执行该属性。请参考以下线程


在代理的顺序中,我看不到您将消息发送到任何后端。i、 我在序列中没有看到发送部分。如果消息没有发出,就没有办法响应out序列


关于访问类中介设置的属性的原始问题,如果将作用域设置为“synapse”,则可以在代理中的任何位置访问该属性。

我可以比较两个属性值,如:if(property1.value==property2.value),然后“进行一些编码”。我如何才能做到这一点?没有直接的方法来比较两个属性。您必须编写一个自定义中介来完成此操作。但是您可以通过过滤器中介将属性与某个值或正则表达式进行比较。顺便问一下,我的回答解决了你的问题吗?