在使用WSO2 ESB代理服务时,如何将动态参数作为REST服务的URL的一部分传递?

时间:2015-10-02 12:14:46

标签: web-services rest proxy wso2 wso2esb

我正在尝试简单地将REST服务作为代理服务托管在WSO2 ESB中。我正在使用自定义代理执行此操作。当我运行创建的代理时,我无法在运行时将参数传递给代理服务。我该怎么做?

我的REST服务将在以下格式的网址上点击:http://ip:host/requestMapping/ {name}

参数' name'必须通过ESB上托管的代理服务从UI通过ESB传递到服务。你能帮助我完成这项工作所需的步骤吗?

我尝试使用此页面: http://wso2.com/library/articles/2013/12/restful-integration-with-wso2-esb/

但这是为了创建我已经成功创建的API。但我无法使用代理服务这样做。

基本上在我的程序中,当用户与UI交互时,他输入一个名称作为输入。此名称必须传递给ESB中托管的代理服务,该代理服务应将其作为路径变量转发给我的REST服务。

现在,我的服务机构是:

<inSequence>
  <send>
   <endpoint>
   <http method="POST" uri-template="http://ip:port/resourceMapping/{uri.var.name}"></http>

    </endpoint>
   </send>
</inSequence>
<outSequence>
  <send></send>
</outSequence>

当我运行它时,它不会发送用户输入的名称,而是发送&#34; uri.var.name&#34;到REST服务。另一方面,如果我定义属性标记并为其定义值然后执行此操作,则REST服务将获取我已设置的属性的值。但是我需要用户动态发送这个值,这样我才能在里面定义属性和值。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

我认为,最好的方法是在这种情况下使用API​​,因为对ESB的请求是REST,端点也接受REST。这是最好的做法。