2017-03-07 91 views
0

我是WS02中的新成员,但我无法获取url参数并将其传递。 继Sending a Simple Message exampleWSO2从请求中传递一个值

我的资源是

<resource methods="GET" uri-template="/wholesales/{dlrcode}"> 
     <inSequence> 
      <log level="custom"> 
       <property name="message" value="Whole sales request"/> 
       <property expression="/default/expression" name="p_dlrCode"/> 
      </log> 
      <send> 
       <endpoint key="WholeSales"/> 
      </send> 
     </inSequence> 
     <outSequence> 
      <send/> 
     </outSequence> 
     <faultSequence/> 
    </resource> 

和我的结束是

<?xml version="1.0" encoding="UTF-8"?> 
<endpoint name="WholeSales" xmlns="http://ws.apache.org/ns/synapse"> 
    <http method="get" uri-template="http://xxx/RDRSvc//vehicle/wholesaleD/{url.var.dlrcode}?format=json"/> 
</endpoint> 

,但还是老样子,当我打电话API像

http://xxx.xx.xx.xx:8280/rdr/wholesales/42103

我看不出有什么dlrCode? ??

TID [-1234] [ESB] [2017-03-07 11:08:29,464]信息{org.apache.synapse.mediators.builtin.LogMediator} - message =“整个销售请求”,p_dlrCode =

我怎样才能把42103放在属性p_dlrCode中?

回答

1

试试这个:

您的资源:

<resource methods="GET" uri-template="/wholesales/{dlrcode}"> 
     <inSequence> 
      <log level="custom"> 
       <property name="message" value="Whole sales request"/> 
       <property expression="get-property('uri.var.dlrcode')" name="p_dlrCode"/> 
      </log> 
      <send> 
       <endpoint key="WholeSales"/> 
      </send> 
     </inSequence> 
     <outSequence> 
      <send/> 
     </outSequence> 
     <faultSequence/> 
    </resource> 

您的端点固定:

<?xml version="1.0" encoding="UTF-8"?> 
<endpoint name="WholeSales" xmlns="http://ws.apache.org/ns/synapse"> 
    <http method="get" uri-template="http://xxx/RDRSvc//vehicle/wholesaleD/{uri.var.dlrcode}?format=json"/> 
</endpoint> 
+0

豪尔赫您好,感谢快速反应......这几乎是工作:),属性获取价值但仍然终点没有得到它...我需要改变END点声明中的东西..我没有看到你的回应有任何区别,...帮助 – lpastor

+0

在你的端点定义你使用url.var.dlrcode,我更新我t与uri.var.dlrcode ...这是uri not url –

+0

OHHH现在我看到它...它正在工作... gr8非常感谢... – lpastor

相关问题