Mule查询请求中的非法字符



我尝试用请求做一个请求这是URL:(将变量与URL的其余部分连接起来)

vars.BaseURLOData ++ " " ++ "eq" ++ " 'x1543b14-6f7f-4dc0-a6ga-d0574e9c80ae'" as String
vars.BaseURLOData = http://31.192.103.112:8082//apisserver/api.src/ER_EasyApple_tbl?$filter=ER_application_id

完整URL(已经连接的)应该是:

http://31.192.103.112:8082//apiserver/api.src/ER_EasyApple_tbl?$filter=ER_application_id eq 'x1543b14-6f7f-4dc0-a6ga-d0574e9c80ae'

但它说以下错误:

Illegal character in query at index 88: 
http://31.192.103.112:8082//apiserver/api.src/EA_EasyApple_tbl?$filter=EA_application_id eq 'x1543b14-6f7f-4dc0-a6ga-d0574e9c80ae'

看起来HTTP请求连接器不喜欢在URL中有空格。您可以尝试先使用DataWeave函数encodeURI()对其进行URL编码。

话虽如此,我真的不确定连接器是否期望URL中的查询参数。在连接器中有一个单独的部分用于查询参数。

通常的形式是这样的:

<http:request config-ref="HTTP_Request_Configuration" path="/apiserver/api.src/EA_EasyApple_tbl" method="GET" doc:name="HTTP Request">
<http:query-params>#[
{
filter : "EA_application_id eq 'x1543b14-6f7f-4dc0-a6ga-d0574e9c80ae'"
}
]</http:query-params>

协议、主机和端口在连接器的配置中定义。

最新更新