尝试通过HTTP AZURE网关触发PATCH请求时出现错误通过OData v2服务从Power Virtual Agent BOT迁移到S/4 HANA。当我们从POSTMAN和通过SAP Gateway Client进行测试时,同样的服务可以正常工作。
BOT部署在MS Teams上。
以下是从BOT角度配置的步骤:
-
触发GET请求获取CSRF令牌使用以下HTTP头
授权:无记名(tokenvalue)X-CSRF-Token:取Set-Cookie: Fetch
上述cookie值正在被转换,以消除'/',空格和逗号。相同的已被%2F, %2b和;
-
一旦CSRF令牌被获取,它将被存储在一个局部变量中并传递给PATCH请求
Authorization: Bearer(tokenvalue)X-CSRF-Token:Cookie:
Below is the error we are able to see in Power Automate Flow.
**
"error": {
"code": 403,
"message": "The response is not in a JSON format.",
"innerError": "CSRF token validation failed"
}
}
```**
我们期待这个补丁请求的成功调用。当在POSTMAN和本机SAP网关客户端中测试时,这在同一用户下运行良好。
您正在使用Microsoft本地网关连接您的odata服务。本地网关总是建立一个新的http连接,该连接将在X-CSRF-TOKEN过期也许以后的版本会支持这个