#azure #azure-api-management
#azure #azure-api-management
Вопрос:
У меня есть 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 и вводит пользовательский заголовок?
Любые идеи или предложения будут с благодарностью приняты!!
Ответ №1:
Для этого требования, пожалуйста, обратитесь к политике в моем 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>
Пожалуйста, обратите внимание на escape-символ в header
, который нам нужно использовать "
вместо "
.