如何在对后端进行调用之前在Azure API管理中添加自定义标头



我有一个Rest Api正在Azure上公开。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中的转义符,我们需要使用"而不是"

最新更新