У меня есть приложение-функция azure (v1, к сожалению, без возможности обновления) с конечной точкой, получающей JSON через запросы POST, выполняющей некоторые вычисления и возвращающей JSON в ответе. Эта конечная точка должна быть SOAP -совместимой, что означает, что она должна получать SOAP запросов и возвращать SOAP ответов, а также иметь возможность предоставлять файл WSDL.
Использование сопоставителя SOAP в API Management не является вариантом из-за его ограничений.
Методы, которые я пробовал:
Создайте службу WCF и попробуйте делегировать ей HTTP-запрос из конечной точки функции Azure. Похоже, это не сработало, потому что соответствующий обработчик в WCF может получать запрос только через свою собственную конечную точку HTTP (которая, похоже, не отображается через конечную точку функции azure), но не может быть вызвана из кода.
Используйте веб-приложение ASP. net с SoapCore в качестве отправной точки и попробуйте перенести его на функцию azure. Это не представляется возможным из-за совершенно другой структуры. SoapCore прикреплен к экземпляру приложения ASP. net в качестве промежуточного программного обеспечения, тогда как функция azure не предоставляет средств для использования промежуточного программного обеспечения.
Анализируйте запрос SOAP вручную преобразуйте его в JSON, выполните вычисление, преобразуйте результат обратно в сообщение SOAP и верните его. Это кажется очень хакерским, а также WSDL необходимо создавать и обслуживать вручную. Несмотря на эти недостатки, я склоняюсь к этому решению из-за невозможности первых двух.
Есть ли другое возможное решение, которое я мог пропустить?