Когда вы используете API-интерфейс SOAP в качестве REST в APIM, все, что он делает, - это создает набор политик для операций, позволяющих оперативно обрабатывать полезные данные запросов и ответов и преобразовывать JSON в XML.Несмотря на то, что нет мастера для создания преобразований для обратного - это, безусловно, возможно.
Вам придется написать собственную логику преобразования с использованием политик APIM.Вот несколько вещей, которые вам понадобятся:
public enum SoapVersionLiteral
{
Soap11,
Soap12
}
public interface ISoapMessage
{
SoapVersionLiteral Version { get; set; }
string Action { get; set; }
IEnumerable<ISoapHeader> Headers { get; set; }
ISoapBody Body { get; set; }
}
public interface ISoapHeader
{
XName Name { get; }
string Value { get; }
Uri Actor { get; }
bool MustUnderstand { get; }
}
public interface ISoapBody
{
XName Name { get; }
XElement Contents { get; }
}
- Вы можете попробовать найти некоторые WSDL в дикой природе и импортировать их как SOAP в REST в APIM, чтобы увидеть, какого родаполитики создаются для преобразования XML в JSON для ответов и JSON в XML для запросов.