繁体   English   中英

Wso2 ESB GET PROXY NAME

[英]Wso2 ESB GET PROXY NAME

我想知道如何在序列中获取代理的名称:

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

不起作用,请问有什么建议吗?

这将返回代理名称。

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

解决了一个非常简单:get-property('To')

Nuvio,

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

干杯,Prabath

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM