API do Azure não permite HTTPS em mais de uma API

API do Azure não permite HTTPS em mais de uma API

Configuramos uma APIm no Azure com 2 APIs. Um é um serviço SOAP criado a partir de um WSDL. Possui uma única operação POST que funciona perfeitamente usando HTTPS. Como estamos migrando para a nuvem e queremos manter a migração transparente para os clientes, também existe uma operação GET para expor o WSDL aos clientes. Isso foi estabelecido usando as instruções encontradas aqui:https://mbraekman.github.io/2020/05/24/Expose-WSDL-through-APIM/e funciona muito bem usando o/soapAction=wsdlna operação GET.

Porém, em nome de não mudar as coisas nos clientes, precisamos usar o método alternativo, que mantém a URL em/meuservidor/api?wsdlem vez de ter que incluir o/?soapAction=wsdlparâmetro.

Isso resulta na seguinte configuração:

A API SOAP possui a seguinte configuração:

Para a API WSDL:

  • Nome de exibição:API para WSDL

  • URL do serviço web: https://my-apim.dev.azure.net/

  • Esquema de URL:HTTP(S)

  • Sufixo do URL da API:Nenhum (conforme definido nas operações)

  • Operações:

    • PEGAR/SubmitService/Submit.svc?singleWsdl
    • PEGAR/SubmitService/Submit.svc?wsdl

O problema é que ao visitar o HTTPShttps://my-apim.azure-api.net/SubmitService/Submit.svc?singleWsdlou ?wsdl, um erro 404 não encontrado foi retornado. Porém, indo para a versão HTTP, o WSDL é retornado conforme o esperado.

Se eu alterar o esquema de URL para "HTTPS" para a API WSDL e clicar no url https://, será 404, se eu tentar http:// ainda será 404. A única coisa que funciona é usar um esquema de URL de "HTTP " ou "HTTP(S)" e acessando o URL http://. Sei que isso funciona tecnicamente, mas o URL atual usa https:// e queremos mantê-lo assim.

Suspeito que haja algum tipo de colisão entre as 2 APIs e HTTPs. Há algo que estou faltando aqui?

Quero ter as 2 APIs, ambas usando HTTPs

EDIT: Fiz mais algumas experiências através da edição da URL do WebService, incluindo (como você pode ver na API SOAP) incluir a URL completa noURL do serviço webpropriedade, bem como alterar os URLs/sufixos para que um deles sejahttps://my-apim.dev.azure.net/SubmitServicee o outro éhttps://my-apim.dev.azure.net/SubmitService/Submit.svc

O quefuncionaestá renomeando os dois assim:

https://my-apim.dev.azure.net/SubmitService/

e

https://my-apim.dev.azure.net/SubmitService2/

com os respectivos sufixos

Mas isso não é o ideal, pois agora é uma API/URL separada para clientes, o que não acontece com a atual solução hospedada no local.

informação relacionada