1.JSON取值表达式:json-eval($.name)
2.Property取值表达式:get-property('name'),或者$ctx:name
3.XPath取值表达式://getCustomer,//getCustomer/id
4.Concat表达式:fn:concat('Routing to ', get-property('Hospital')
5.HTTP表头属性:HTTP_METHOD,Accept。前者可以将GET改为POST。
6.REST API转SOAP的方法: 如果API入口是POST,则直接用PayloadFactory即可,如果入口是GET,则可以在PayloadFactory之后用以下几种方法实现
a)在endpoint中定义property<property name="SOAPAction" value="getQuote" scope="transport"/>。如果endpoint的format是SOAP1.1(soap11),就是SOAPAction, 如果是SOAP1.2(soap12),就是Action。transport就是直接改HTTP标头,这里如果选synapse是没有用的。
b)在Send之前增加Header mediator,定义SOAPAction(SOAP1.2就是Action),其他同a)
c)在Send之前增加Header mediator,<header name="Action" scope="default" value="urn:getQuote"/>,这里的可以加"urn:"也可以不加,endpoint选soap11和soap12都可以
d)在Send之前增加Property mediator,通过修改HTTP_METHOD属性直接将gGET'g方法篡改为POST但如果API本来就是POST,则什么都不用做