apache synapse学习-XPath functions and variables

上官自明
2023-12-01

Custom Functions

get-property function

get property函数从给定作用域的消息上下文中检索属性。如果未指定作用域,则从默认synapse作用域检索属性。
语法:

get-property(String scope, String propertyName)
get-property(String propertyName)

支持的作用域:
default
axis2
transport
registry
system

默认作用域:
可以从默认作用域中检索synapse作用域中的消息上下文属性。这些是直接在synapse messagecontext实例上设置的属性。除了用户定义的属性外,还可以从默认范围中检索以下特殊属性。

NameReturn Value
To如果未定义To address ,则以字符串或空字符串形式传入URL。
From如果From address,则将From address作为字符串或空字符串
Action如果未定义Action,则SOAP Action Header值为字符串或空字符串
FaultTo如果未定义FautTo header值,则将soap FautTo Header值作为字符串或空字符串
ReplyTo如果没有定义Replyto header,则将 replyto header值作为字符串或空字符串。
MessageID作为字符串的消息的唯一标识符(UUID)。此ID保证是唯一的。
FAULT如果消息有错误,则为true;如果消息没有错误,则为空字符串
MESSAGE_FORMAT根据消息返回pox、get、soap11、soap12。如果消息类型未知,则返回SOAP12
OperationName与消息对应的操作名。

Axis2 作用域:
可以从axis2作用域中检索位于axis2作用域中的消息上下文属性。这些是在基础的axis2 messagecontext对象上设置的属性。

Transport 作用域:
可以从传输作用域检索位于传输作用域中的消息上下文属性。这些是在messagecontext上设置的传输头。
Registry 作用域:
可以从注册表范围中检索位于注册表中的属性。

System 作用域:
可以从系统范围检索Java系统属性。

base64Encode function

返回参数的base64编码值。
语法:

base64Encode(String value)

base64Decode function

返回参数的base64解码值。
语法:

base64Decode(String value)

url-encode function

返回参数的URL编码值。
语法:

url-encode(String value)

Variables

synapse支持几个xpath变量。这些用于从消息上下文访问各种属性。
$axis2
$trp
$ctx
$url
$body
$header

这些xpath变量在不同范围内获取属性。
$ctx
用于访问默认范围中的MessageContext属性的变量前缀。
例如,要在默认范围内获取名为“foo”的属性,请使用以下xpath表达式

$ctx:foo

$axis2
访问axis2 MessageContext属性的变量前缀
例如,要获取名为“messagetype”的属性,请使用以下xpath表达式

$axis2:messageType

$trp
用于访问消息的transport headers的变量前缀
例如,要获取名为Content-Type的传输头,请使用以下xpath表达式

$trp:Content-Type

$url
用于访问消息的URL参数的变量前缀
例如,要获取名为“bar”的URL参数,请使用以下xpth表达式

$url:bar

$body
Get the message body

$header
Get the soap header

 类似资料: