Soap Wso2 ESB获取代理名称

Soap Wso2 ESB获取代理名称,soap,wso2,wso2esb,esb,orchestration,Soap,Wso2,Wso2esb,Esb,Orchestration,我想知道如何按顺序获取正在使用的代理的名称: <proxy xmlns="http://ws.apache.org/ns/synapse" name="PROXYNAME" transports="https,http" statistics="disable" trace="disable" startOnLoad="true"> <target> <inSequence> <property> *GET-NA

我想知道如何按顺序获取正在使用的代理的名称:

<proxy xmlns="http://ws.apache.org/ns/synapse" name="PROXYNAME" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
   <target>
      <inSequence>
         <property> *GET-NAME OF THIS PROXY...* </property>
      </inSequence>
   </target>
   <publishWSDL uri="http://localhost/Test2/Service.asmx?wsdl" />
</proxy>

*获取此代理的名称…*
编辑 为了获取代理的名称(应包含在标题“to”中),我尝试将其作为代理的序列:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="testsequence">
   <property xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" name="p1" expression="$header/wsa:To" scope="default" />
   <log level="custom">
      <property xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" name="***output" expression="get-property('p1')" />
   </log>
</sequence>

不行,有什么建议吗?

Nuvio

我只是想知道这样做的真正要求是什么,因为特定代理服务的名称保持静态,而特定代理服务完全由该服务提供。但是,如果您真的想这样做,更简单的方法是使用静态属性(使用属性中介器)或者您可以使用表达式“$header/wsa:to”提取“to”头的值,其中“wsa”对应于相关的寻址命名空间,然后编写正则表达式来提取服务名称

干杯,
Prabath

用一个非常简单的方法解决:get属性('To')

这将返回代理名称

<log level="custom"> <property name="ProxyName" expression="$ctx:proxy.name"/></log>


我想使用代理名称作为en external DBHello的唯一标识符。我不知道如何提取头to:I正在使用$header/wsa:to执行一个属性,但它没有输出任何内容,wsa=请帮我回答这个问题:发现得好!但是,即使使用上述方法,我提到的xpath较早的是在引擎盖下评估的。唯一的区别是,通过填充消息上下文属性,用户可以更容易地检索标题“to”的值。Cheers,Prabath