我如何从 属性 中为 WSO2 ESB 中的 Send Mediator 分配 url?

How can I assign a url from a property for a Send Mediator within WSO2 ESB?

我正在寻找使用在单独数据库中配置的 url 创建发送调解器。

我将有问题的 url 分配给了我序列中的 属性 myurl

如何使用此 属性 作为发送的 url 创建一个 send

有点像..

<property name="myurl" value="http://www.google.com"></property>
<send>
  <endpoint>
    <http method="put" uri-template="{myurl}"></http>
  </endpoint>
</send>

错误 ..(uri-mapping 并在上面的端点中使用 get-property('myurl') 等也没有运气)

使用 URL ReWriter Mediator 对我没有帮助,因为操作不允许表达式,只有 value

<rewrite>
  <rewriterule>
    <action value="get-property('myurl')" type="set" fragment="full"></action>
  </rewriterule>
</rewrite>
<send></send>

我不确定,即使上面的方法有效..我怎么能定义它也是 POST..

如有任何帮助,我们将不胜感激!

您的 属性 名称缺少 uri.var 前缀。 page 对此有更多详细信息。

The URI templates allow a RESTful URI to contain variables that can be populated during mediation runtime using property values whose names have the "uri.var." prefix.

这是 WSO2 文档中使用 属性 个名称的端点示例:

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="HTTPEndpoint">
    <http uri-template="http://localhost:8080/{uri.var.servicepath}/restapi/{uri.var.servicename}/menu?category={uri.var.category}&amp;type={uri.var.pizzaType}" method="GET"></http>
</endpoint>

以及调用端点的代理服务部分:

<inSequence>           
    <property name="uri.var.servicepath" value="PizzaShopServlet"/>
    <property name="uri.var.servicename" value="PizzaWS"/>
    <property name="uri.var.category" value="pizza"/>
    <property name="uri.var.pizzaType" value="pan"/>
    <send>
        <endpoint key="HTTPEndpoint"/>
    </send>
</inSequence>