如何解决如何在调用后端之前在 Azure API 管理中添加自定义标头
我有一个在 Azure 上公开的 Rest Api。曾经调用过的 Azure Api 在后端调用了一个 WCF 服务。
首先,我需要将 JSON 请求转换为 XML。另外,要调用 SOAP 服务,我需要添加一个像这样的自定义标题:-
<s:Header>
<AuthHeader xmlns="http://abc.security.service">
<UserID>UserID</UserID>
<Token>Token</Token>
</AuthHeader>
</s:Header>
如何添加将请求转换为 XML 并注入自定义标头的“入站策略”?
任何想法或建议将不胜感激!
解决方法
有关此要求,请参阅我的 APIM 中的政策。
<policies>
<inbound>
<base />
<json-to-xml apply="always" />
<set-body>@{
string inBody = context.Request.Body.As<string>();
string requestBody = inBody.Replace("<Document>","").Replace("</Document>","");
string header = "<s:Header><AuthHeader xmlns=\"http://abc.security.service\"><UserID>UserID</UserID><Token>Token</Token></AuthHeader></s:Header>";
return header + requestBody;
}</set-body>
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
请注意 header
中的转义字符,我们需要使用 \"
而不是 "
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。