wso2esb如何使用属性中介中的模式参数
我想解析后端服务器发送回的位置头,以便在将其发送到客户端之前重写它。我试过了,但是没有用,我的意思是位置标题是空的。我尝试不使用pattern参数,效果很好,我可以在客户端的响应中很好地定义位置头wso2esb如何使用属性中介中的模式参数,wso2,wso2esb,hateoas,Wso2,Wso2esb,Hateoas,我想解析后端服务器发送回的位置头,以便在将其发送到客户端之前重写它。我试过了,但是没有用,我的意思是位置标题是空的。我尝试不使用pattern参数,效果很好,我可以在客户端的响应中很好地定义位置头 <property expression="get-property('LocationHeaderFromBackEnd')" name="Location" pattern="v1.*" scope="transport"/> 属性LocationHead
<property expression="get-property('LocationHeaderFromBackEnd')"
name="Location" pattern="v1.*" scope="transport"/>
属性LocationHeaderFromBackEnd=“”
有人能帮忙吗
非常感谢。我找到的解决方案是使用JavaScript中介来处理正则表达式,如下所示。我希望你能给我一个更好的:)
我认为您可以在属性中使用模式 例如,我的属性值为 DecodeUrl=“消息id=dd0f-678a-5678&response=ok” 对于获取消息id和响应,我们可以使用以下代码:
<property xmlns:ns="http://org.apache.synapse/xsd"
name="message_id"
expression="get-property('DecodeUrl')"
pattern="(message\_id\=)(.*)(&)(.*)"
group="2"/>
<property xmlns:ns="http://org.apache.synapse/xsd"
name="response"
expression="get-property('DecodeUrl')"
pattern="(message\_id\=)(.*)(&)(response=)(.*)"
group="5"/>
<log level="custom">
输出:
dd0f-678a-5678
嗯
组中的索引编号很重要。
<property xmlns:ns="http://org.apache.synapse/xsd"
name="message_id"
expression="get-property('DecodeUrl')"
pattern="(message\_id\=)(.*)(&)(.*)"
group="2"/>
<property xmlns:ns="http://org.apache.synapse/xsd"
name="response"
expression="get-property('DecodeUrl')"
pattern="(message\_id\=)(.*)(&)(response=)(.*)"
group="5"/>
<log level="custom">