我正在使用 WSO2 Micro Integrator 调用本机 API,该 API 在直接通过 Postman 测试时成功运行,返回 200 状态代码。但是,当通过 Micro Integrator 调用相同的 API 时,我遇到了“Bad Request 400”(您的浏览器发送了无效请求)错误。
这里,出现以下错误响应:
<html>
<body>
<h1>400 Bad Request</h1>
Your browser sent an invalid request.
</body>
</html>
这是我在代理服务中使用的
<inSequence>
配置:
<inSequence>
<enrich>
<source clone="true" type="body"/>
<target property="jwtToken" type="property"/>
</enrich>
<class name="TokenClassGen.TokenClassGen"/>
<property expression="fn:concat('Bearer ', get-property('jwtToken'))"
name="Authorization"
scope="transport"
type="STRING"/>
<call>
<endpoint>
<http method="get" uri-template="https://NATIVE-URL">
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>-1</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</http>
</endpoint>
</call>
<respond/>
</inSequence>
当我直接通过 Postman 测试相同的请求(使用相同的令牌和查询)时,它工作正常并返回 200 状态代码。
使用 WSO2 Micro Integrator 时,什么可能导致在此上下文中出现 400 Bad Request 错误?
问题是否与查询参数的编码方式或请求的构造方式有关?
是否有特定的配置或调试技巧来确保与在 Postman 中工作但通过 WSO2 Micro Integrator 失败的 API 的兼容性?
因为这是一个糟糕的请求。
祝你有美好的一天。