我希望使用在单独数据库中配置的网址来创建发送中介。
我将问题中的网址分配给我的序列中的属性myurl
。
如何使用此属性创建发送作为发送网址?
像...这样的东西。
<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')
等也没有运气。
使用网址ReWriter Mediator并没有帮助我,因为动作不允许表达,只有value
<rewrite>
<rewriterule>
<action value="get-property('myurl')" type="set" fragment="full"></action>
</rewriterule>
</rewrite>
<send></send>
我不确定,即使上述情况有效......我怎么能定义它也是POST
..
感谢任何帮助!
答案 0 :(得分:1)
您缺少属性名称的uri.var
前缀。这个page有更多细节。
URI模板允许RESTful URI包含可以在中介运行时使用名称具有&#34; uri.var的属性值填充的变量。&#34;前缀。
以下是使用属性名称的端点的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}&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>