azure - 是否可以将订阅 key 查询字符串参数与 Azure API 管理 SOAP 传递结合使用?

标签 azure soap azure-api-management ibm-api-management

我们使用 API 管理来公开多个 API。我们公开的 API 之一被配置为 SOAP 直通 API,但我们在 APIM 身份验证方面面临一些问题。

当我们使用 Ocp-Apim-Subscription-Key header 传递查询字符串时,一切正常,并且 API 会返回正确的内容。

当我们使用 subscription-key 查询字符串参数时,API 将返回 401 Unauthorized。我在 Postman 中测试了此行为,更改发送订阅 key 的方式会导致此行为。

此 API 的实现细节是,它公开现有的 WSDL 并通过策略将此 SOAPAction 路由到 Azure Function。在函数的 Application Insights 中,我可以验证当我收到 401 时,该函数从未被调用,但当我成功调用时(使用 header ),它被调用。

这是正常行为吗?我做错事了吗?还是 APIM 中的错误?

最佳答案

这可能是我们为 SOAP Passthrough 进行路由的方式存在问题。您会注意到,在 API 设置中,我们添加了一个查询参数来标识操作将匹配的 SoapAction。将 SoapAction 参数添加到入站请求时,您的 api key 查询参数可能会被覆盖。我会调查并通知您。

关于azure - 是否可以将订阅 key 查询字符串参数与 Azure API 管理 SOAP 传递结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220230/

相关文章:

azure - 使用 ADF,如何将文件名加载到 SQL Server 表中?

azure - Azure 流量管理器的故障转移可靠吗?我还应该担心哪些其他问题?

powershell - AAD 应用程序客户端 key

php - 为什么 getLastRequest 不返回任何东西?

azure-api-management - 如何使用 Azure API Manager 缓存存储值策略存储 JSON 有效负载?

azure - 当值未硬编码时,api 管理客户端证书身份验证失败

azure - 如何安全地将凭据放入自定义 Azure DevOps 任务中?

java - Web 服务客户端调用 Web 服务客户端 - java

python - 使用 Zeep 向 SOAP 服务发送原始 XML 请求(尝试复制参数)

azure - 具有多个 API 的单一后端