如何使用 API Rest url 模板值到 WSO2 的调用模板
How to use API Rest url template value into call template at WSO2
我开始于:
<?xml version="1.0" encoding="UTF-8"?>
<api context="/echo/2" name="echo" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/{echoque}">
<inSequence/>
<outSequence/>
<faultSequence/>
</resource>
</api>
而且我可以使用 get-属性("uri.var.echoque") 和 $ctx:uri.var.echoque 记录 echoque,但是如果我将值设置为字面量,它会起作用,所以我不知道如何使用...的uri模板
这是我的最后一个例子
<?xml version="1.0" encoding="UTF-8"?>
<api context="/echo/sound" name="echo" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/{echoque}">
<inSequence>
<log>
<property expression="get-property("uri.var.echoque")" name="Input"/>
</log>
<call>
<endpoint>
<http method="get" uri-template="http://echotest.localhost/echo/{uri.var.sound}">
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>-1</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</http>
<property expression="$ctx:uri.var.echoque" name="uri.var.sound"/>
</endpoint>
</call>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>
谁能解释一下如何使用其余 api 中的变量?
我还尝试使用 json 类型的 paylodfactory {“输入:
$1 } 并像 json 一样使用它:$.input 但没有...
以下应该有效。您不必使用单独的变量。直接使用call mediator里面的uri.var.echoque
。
<?xml version="1.0" encoding="UTF-8"?>
<api context="/echo/sound" name="echo" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/{echoque}">
<inSequence>
<log>
<property expression="get-property("uri.var.echoque")" name="Input"/>
</log>
<call>
<endpoint>
<http method="get" uri-template="http://echotest.localhost/echo/{uri.var.echoque}">
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>-1</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</http>
</endpoint>
</call>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>
我开始于:
<?xml version="1.0" encoding="UTF-8"?>
<api context="/echo/2" name="echo" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/{echoque}">
<inSequence/>
<outSequence/>
<faultSequence/>
</resource>
</api>
而且我可以使用 get-属性("uri.var.echoque") 和 $ctx:uri.var.echoque 记录 echoque,但是如果我将值设置为字面量,它会起作用,所以我不知道如何使用...的uri模板 这是我的最后一个例子
<?xml version="1.0" encoding="UTF-8"?>
<api context="/echo/sound" name="echo" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/{echoque}">
<inSequence>
<log>
<property expression="get-property("uri.var.echoque")" name="Input"/>
</log>
<call>
<endpoint>
<http method="get" uri-template="http://echotest.localhost/echo/{uri.var.sound}">
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>-1</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</http>
<property expression="$ctx:uri.var.echoque" name="uri.var.sound"/>
</endpoint>
</call>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>
谁能解释一下如何使用其余 api 中的变量? 我还尝试使用 json 类型的 paylodfactory {“输入: $1 } 并像 json 一样使用它:$.input 但没有...
以下应该有效。您不必使用单独的变量。直接使用call mediator里面的uri.var.echoque
。
<?xml version="1.0" encoding="UTF-8"?>
<api context="/echo/sound" name="echo" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/{echoque}">
<inSequence>
<log>
<property expression="get-property("uri.var.echoque")" name="Input"/>
</log>
<call>
<endpoint>
<http method="get" uri-template="http://echotest.localhost/echo/{uri.var.echoque}">
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>-1</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</http>
</endpoint>
</call>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>