0

我有一种情况,我创建了一个代理服务,其中我使用了内联 wsdl,以便我可以从 try-it 工具传递一些数据。之后,我想获取从 try-it 传递到 in 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 序列。它没有击中顺序。我在哪里做错了?

4

2 回答 2

0

您可以在结尾处访问该属性。请参考以下主题。

stWSO2ESB OutSequence 处理

将属性从 inSequence 传递到 outSequence

于 2013-04-02T09:12:09.413 回答
0

在您的代理的顺序中,我没有看到您将消息发送到任何后端。即我没有看到顺序中的发送部分。没有消息出去,就没有办法响应输出序列。

关于访问类调解器设置的属性的原始问题,如果您将范围设置为“突触”的属性设置为,您可以在代理中的任何位置访问它。

于 2013-04-02T10:51:30.113 回答