En este artículo se explica cómo importar una especificación WSDL, que es una representación XML estándar de una API de SOAP. En el artículo también se muestra cómo probar la API en API Management.
En este artículo aprenderá a:
Importación de una API de SOAP
Prueba de la API en Azure Portal
Nota
La importación de WSDL a API Management está sujeta a ciertas limitaciones. No se admiten archivos WSDL con las directivas wsdl:import, xsd:import y xsd:include. Para obtener una herramienta de código abierto para resolver y combinar estas dependencias en un archivo WSDL, consulte este repositorio GitHub.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Azure PowerShell
Si opta por usar Azure PowerShell en un entorno local:
Vaya a la instancia de API Management en Azure Portal.
En el menú izquierdo, seleccione API>+ Agregar API.
En Create from definition (Crear a partir de la definición), seleccione WSDL.
En WSDL specification (Especificación WSDL), escriba la dirección URL de la API SOAP o haga clic en Select a file (Seleccionar un archivo) para seleccionar un archivo WSDL local.
En Import method (Método Import), el paso a través de SOAP está seleccionado de manera predeterminada.
Con esta selección, la API se expone como SOAP y los consumidores de API tienen que usar reglas SOAP. Si desea usar Restify en la API, siga los pasos descritos en Import a SOAP API and convert it to REST (Importación de una API de SOAP y conversión a REST).
Los siguientes valores de la API se rellenan automáticamente con la información de la API de SOAP: Nombre para mostrar, Nombre y Descripción. Las operaciones se rellenan automáticamente con el Nombre para mostrar, la Dirección URL y la Descripción, y reciben un Nombre generado por el sistema.
Escriba otros valores de la API. Puede establecer los valores durante la creación o luego accediendo a la pestaña Ajustes.
En el ejemplo siguiente se usa el comando az apim api import para importar una especificación de WSDL de la dirección URL especificada en una instancia de API Management que se denomina apim-hello-world. Para importar con una ruta de acceso a una especificación en lugar de una dirección URL, use el parámetro --specification-path.
En este WSDL de ejemplo, el nombre del servicio es OrdersAPI y uno de los puntos de conexión disponibles (interfaces) es básico.
En el ejemplo siguiente se usa el cmdlet de Azure PowerShell Import-AzApiManagementApi para importar una especificación de WSDL de la dirección URL especificada en una instancia de API Management que se denomina apim-hello-world. Para importar con una ruta de acceso a una especificación en lugar de una dirección URL, use el parámetro -SpecificationPath.
En este WSDL de ejemplo, el nombre del servicio es OrdersAPI y uno de los puntos de conexión disponibles (interfaces) es básico.
PowerShell
# API Management service-specific details$apimServiceName = "apim-hello-world"$resourceGroupName = "myResourceGroup"# API-specific det$apiId = "orders-api"$apiPath = "orders"$specificationFormat = "Wsdl"$specificationUrl = "https://fazioapisoap.azurewebsites.net/FazioService.svc?singleWsdl"$wsdlServiceName = "OrdersAPI"$wsdlEndpointName = "basic"# Get context of the API Management instance. $context = New-AzApiManagementContext -ResourceGroupName$resourceGroupName -ServiceName$apimServiceName# Import APIImport-AzApiManagementApi -Context$context -ApiId$apiId -SpecificationFormat$specificationFormat -SpecificationUrl$specificationUrl -Path$apiPath -WsdlServiceName$wsdlServiceName -WsdlEndpointName$wsdlEndpointName
Prueba de la nueva API en el portal
Se puede llamar a las operaciones directamente desde el portal, lo que proporciona a los administradores una forma cómoda de ver y de probar las operaciones de una API.
Seleccione la API que creó en los pasos anteriores.
Seleccione la pestaña Prueba.
Seleccione una operación.
La página muestra los campos de parámetros de consulta y los campos para los encabezados.
Nota
En la consola de prueba, API Management rellena automáticamente un encabezado Ocp-Apim-Subscription-Key y configura la clave de suscripción de la suscripción de acceso completo integrada. Esta clave permite el acceso a todas las API de la instancia de API Management. Opcionalmente, se puede mostrar el encabezado Ocp-Apim-Subscription-Key si se selecciona el icono de ojo situado junto a la Solicitud HTTP.
En función de la operación, escriba los valores de los parámetros de consulta, los valores de encabezado o el cuerpo de la solicitud. Seleccione Enviar.
Cuando la prueba se realiza correctamente, el back-end responde con un código de respuesta HTTP correcto y algunos datos.
Sugerencia
De forma predeterminada, la consola de prueba envía una solicitud al proxy CORS de API Management, que reenvía la solicitud a la instancia de API Management, que la reenvía al back-end. Este proxy usa la dirección IP pública 13.91.254.72 y solo puede acceder a los puntos de conexión públicos. Si desea enviar una solicitud directamente desde el explorador al servicio API Management, seleccione Omitir proxy CORS. Use esta opción si desea usar la consola de prueba y la puerta de enlace de API Management está aislada de red o no permite el tráfico desde el proxy CORS.
Si necesita pasar una solicitud SOAP que no tenga una acción dedicada definida en la API, puede configurar una acción SOAP con caracteres comodín. La acción de carácteres comodín coincidirá con cualquier solicitud SOAP que no esté definida en la API.
Para definir una acción SOAP con caracteres comodín:
En el portal, seleccione la API que creó en el paso anterior.
En la pestaña Diseño, seleccione + Agregar operación.
Escriba un nombre para mostrar para la operación.
En la dirección URL, seleccione POST y escriba /?soapAction={any} en el recurso. El parámetro de plantilla dentro de las llaves es arbitrario y no afecta a la ejecución.
Nota
No use el editor de especificación OpenAPI en la pestaña Diseño para modificar una API SOAP.
Anexión de otras API
Puede crear una API a partir de las API expuestas por distintos servicios, como los siguientes:
Una especificación de OpenAPI
Una API SOAP
GraphQL API
Una aplicación web hospedada en Azure App Service
Aplicación de función de Azure
Azure Logic Apps
Azure Service Fabric
Para anexar una API distinta a la API existente, siga estos pasos.
Nota
Al importar otra API, las operaciones se anexan a la API actual.
Vaya a la instancia de Azure API Management en Azure Portal.
Seleccione API en la página Información general o en el menú de la izquierda.
Haga clic en ... junto a la API a la que desea anexar otra API.
Seleccione Importar en el menú desplegable.
Seleccione un servicio desde el que se va a importar una API.
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Aprenda a importar una API de SOAP a Azure API Management como una especificación WSDL y convertirla e una API REST. A continuación, pruebe la API en Azure Portal.
Aprenda cómo importar una especificación de OpenAPI en una instancia de API Management mediante Azure Portal, la CLI de Azure o Azure PowerShell. A continuación, pruebe la API en Azure Portal.
Introducción a las directivas de API Management, que cambian el comportamiento de la API mediante la configuración Las instrucciones de directiva se ejecutan secuencialmente en una solicitud o respuesta de API.
Índice de referencia para todas las directivas y configuraciones de Azure API Management. Las directivas permiten que el publicador de la API cambie el comportamiento de esta mediante la configuración.