0

我正在接收带有一些查询参数的 HTTP/SOAP 请求。这些查询参数的格式重复为 key=value as /q=key1=value1&key2=value2 等...我想从上面的 URL 中检索所有键并检查它们是否有效。1.有没有办法定义可以保存这些键的全局数组 2.如何验证键是否存在。ESB 是否支持 java “包含” API?

4

2 回答 2

1

我相信您正在执行 GET 请求。您可以按顺序检索所有查询参数。

eg:对于一个请求的url;http:// localhost:8280/getSimpleQuote?symbol=IBM

<property name="symbol" expression="$url:symbol"/>将返回符号“IBM”。获取所有密钥后,您可以验证它们

于 2013-09-05T23:02:07.603 回答
1

您可以使用 xpath 表达式 get-property{'uri.var.xxx'} 获取查询参数,其中 xxx 是您需要获取的查询参数的名称。

当使用 URL 映射定义资源时,只有与给定 URL 映射匹配的请求才会被资源处理。或者,可以使用 URI 模板配置资源。URI 模板表示使用模式和变量的一类 URI。下面给出了一些有效 URI 模板的示例。

/order/{orderId} /dictionary/{char}/{word} 花括号内的所有标识符都被视为变量。下面给出了与模板“/order/{orderId}”匹配的 URL。

/order/A0001 在上面的 URL 实例中,变量 orderId 被赋值为“A0001”。同样,以下 URL 遵循模板“/dictionary/{char}/{word}”。

/dictionary/c/cat 在这种情况下,变量“char”的值为“c”,变量“word”的值为“cat”。当资源与 URI 模板相关联时,所有匹配该模板的请求都将由该资源处理。同时,ESB 将通过消息上下文属性提供对模板变量准确值的访问。例如,假设使用 URI 模板“/dictionary/{char}/{word}”配置资源。如果请求“/dictionary/c/cat”被发送到 ESB,它将被分派到上述资源,我们将能够使用 WSO2 ESB 的 get-property XPath 扩展检索两个变量的确切值:

于 2013-09-06T01:27:22.367 回答