Saltar al contenido

Conexión SOAP

Introducción

Una conexión SOAP, creada mediante el conector SOAP, establece conexiones usando el Protocolo Simple de Acceso a Objetos (SOAP). Una vez que se configura una conexión, se pueden crear instancias de actividades SOAP asociadas a esa conexión para usarlas como fuentes (para proporcionar datos en una operación) o como destinos (para consumir datos en una operación).

Crear o editar una conexión SOAP

Se crea una nueva conexión SOAP usando el conector SOAP desde una de estas ubicaciones:

Se puede editar una conexión SOAP existente desde estas ubicaciones:

Configurar una conexión SOAP

A continuación se describe cada elemento de la interfaz de usuario de la pantalla de configuración de la conexión SOAP.

Nota

No se pueden editar la configuración que afecta a las actividades ya en uso. Esta configuración aparece deshabilitada en la interfaz.

Consejo

Los campos con un icono de variable admiten el uso de variables globales, variables de proyecto y variables de Jitterbit. Comienza escribiendo un corchete de apertura [ en el campo o haz clic en el icono de variable para mostrar un menú con las variables existentes entre las que puedes elegir.

  • Connection name: Ingresa un nombre para identificar la conexión SOAP. El nombre debe ser único para cada conexión SOAP y no debe contener barras inclinadas (/) ni dos puntos (:). Este nombre también se utiliza para identificar el punto de conexión SOAP, que hace referencia tanto a una conexión específica como a sus actividades.

  • Upload URL, Upload file o Select existing: Usa el botón de opción para seleccionar la fuente del archivo WSDL que deseas cargar o reutilizar. Se pueden cargar archivos de hasta 5 MB de tamaño.

    • Upload URL: Ingresa la URL del archivo WSDL en el cuadro de texto y luego haz clic en el botón Upload. La URL debe ser accesible sin autenticación. Si la URL requiere autenticación o no devuelve un archivo WSDL válido, Studio muestra un error en la carga (consulta Requisitos de carga de WSDL). Si cargas un WSDL con el mismo nombre que uno existente, consulta Reemplazar un WSDL cargado más adelante en esta página.

    • Upload file: Haz clic en Browse para seleccionar un archivo WSDL o ZIP. Un archivo ZIP puede incluir archivos XSD de los que depende el WSDL. Si el archivo ZIP contiene más de un archivo WSDL, selecciona el WSDL raíz cuando se te solicite. Luego haz clic en Upload. Si la carga muestra un error de validación, consulta Requisitos de carga de WSDL. Para cargar un WSDL con el mismo nombre que uno existente, consulta Reemplazar un WSDL cargado a continuación.

      Nota

      Cualquier schemaLocation debe señalar a un archivo local usando una referencia relativa. Esto generalmente significa que en lugar de proporcionar una tupla como esta:

      xsi:schemaLocation='http://schemas.xmlsoap.org/wsdl/mime/ http://ws-i.org/profiles/basic/1.1/wsdlmime-2004-08-24.xsd'
      

Esto debe ser suministrado en su lugar:

        ```
        xsi:schemaLocation='http://schemas.xmlsoap.org/wsdl/mime/ wsdlmime-2004-08-24.xsd'
        ```

        En el ejemplo anterior, el archivo XSD `wsdlmime-2004-08-24.xsd` se encuentra en el mismo directorio o en una ruta relativa al WSDL que se está cargando.

-   **Seleccionar existente:** Elegir entre archivos WSDL utilizados previamente en el proyecto actual.
  • Puerto: Seleccionar el puerto apropiado del menú desplegable.

    Nota

    Al editar una conexión, este campo se deshabilita si ya tienes actividades para el endpoint en uso.

  • URL del servicio web: Ingresar la URL del servicio web. De forma predeterminada, este campo se completa con la URL del WSDL.

  • Servicio y Vinculación: Estos campos se completan automáticamente según el WSDL y puerto, y no se pueden editar.

  • Configuración Opcional: Hacer clic para expandir la configuración opcional adicional.

    • Habilitar codificación de contenido: Cuando se selecciona, envía el encabezado Accept-Encoding con la codificación compatible con Harmony (actualmente Gzip).

    • Habilitar codificación de transferencia fragmentada: Cuando se selecciona, envía el encabezado Transfer-Encoding: chunked. Esto es útil al transferir grandes conjuntos de datos.

    • Enviar Expect: 100-continue: Cuando se selecciona, envía el encabezado Expect: 100-continue. Esto asegura que el servidor HTTP valide los encabezados antes de enviar cualquier dato. Esto es útil para enviar grandes cantidades de datos sin codificación de transferencia fragmentada.

    • Permitir cifrados débiles: Seleccionar para comunicarse con servidores HTTP usando cifrados débiles (DES/3DES y RC4).

    • Establecer Accept-Encoding en Gzip: Seleccionado de forma predeterminada, esto le indica al servidor HTTP que Harmony puede aceptar respuestas comprimidas con Gzip. Harmony sigue el estándar RFC 1952 y descomprime automáticamente las respuestas HTTP comprimidas con Gzip. Si el servidor no utiliza Gzip, Harmony detecta que la respuesta no está comprimida y la maneja normalmente.

      Nota

      Esta configuración no está relacionada con el conector Gzip.

    • Versión SSL: Seleccionar una versión SSL específica si el servidor HTTP lo requiere.

    • Encabezados de solicitud: Ingresar encabezados HTTP, con cada encabezado en su propia línea a menos que estén envueltos de acuerdo con los estándares HTTP. Este campo admite variables globales, variables de proyecto y variables de Jitterbit usando corchetes [ ].

  • Usuario y Contraseña: Ingresar las credenciales para acceder al WSDL, si es necesario. Dejar en blanco si no se requiere autenticación.

    De forma predeterminada, Harmony negocia con el endpoint para determinar qué métodos de autenticación se admiten y utiliza las credenciales proporcionadas contra uno de los protocolos. Harmony admite estas opciones de autenticación HTTP:

    • HTTP Basic
    • HTTP Digest
    • HTTP Digest con autenticación con sabor IE
  • Certificado: Seleccionar un certificado para autenticarse con el servidor HTTP. Puedes gestionar certificados SSL del lado del cliente desde la Consola de Administración en Personalizaciones > Certificados de Cliente.

  • Reintentos: Esta configuración es funcional solo con entornos que utilizan un grupo de agentes privados. Reintenta las solicitudes cuando un endpoint SOAP devuelve estos códigos de estado: 500, 501, 502, 503, o 504.

    Los agentes privados deben ser versión 10.29 o posterior para que esta función funcione. Las versiones anteriores de agentes ignoran esta configuración.

    Marcar la casilla Reintentos para expandir opciones de configuración adicionales.

    • Intervalo de reintento (segundos): Ingresar cuánto tiempo esperar (máximo 5 segundos) entre intentos de reintento.
  • Máximo de reintentos: Ingresa cuántas veces (máximo 5) reintentar la solicitud. Si la solicitud sigue fallando después de todos los reintentos, aparece una excepción en el registro de operaciones. El agente privado también registra cada reintento en el archivo jitterbit.log.

    Todos los reintentos cuentan como parte de la misma ejecución de operación, con un único registro en el [registro de operaciones](/es/studio/operations/logs). Cualquier [acción de operación](/es/studio/operations/actions) para operaciones posteriores se activa según el estado final después de todos los reintentos.
    

    Nota

    Estos parámetros anulan las variables de Jitterbit jitterbit.web_service_call.retry_wait_seconds y jitterbit.web_service_call.number_of_retries si están configuradas.

  • Seleccionar métodos: Elige los métodos que deseas que estén disponibles como fuentes u objetivos en las operaciones.

    Nota

    No puedes eliminar métodos previamente seleccionados que ya estén siendo utilizados por actividades SOAP.

  • Actividad seleccionada y Nombre para mostrar: A medida que seleccionas métodos arriba, se agregan a la tabla a continuación, mostrando cada método seleccionado que se renderizará como un bloque de actividad bajo la conexión SOAP en la paleta de componentes. Para editar un Nombre para mostrar, haz clic en el icono de edición e ingresa un nuevo nombre.

    Nota

    Las actividades seleccionadas previamente que actualmente están configuradas como un componente del proyecto no se pueden eliminar.

  • Probar: Haz clic para verificar la conexión usando la configuración proporcionada.

  • Guardar: Haz clic para guardar y cerrar la configuración de la conexión.

  • Descartar cambios: Después de realizar cambios en una configuración nueva o existente, haz clic para cerrar la configuración sin guardar. Un mensaje te pide que confirmes que deseas descartar los cambios.

  • Eliminar: Después de abrir una configuración de conexión existente, haz clic para eliminar permanentemente la conexión del proyecto y cerrar la configuración (consulta Dependencias de componentes, eliminación y remoción). Un mensaje te pide que confirmes que deseas eliminar la conexión.

Requisitos de carga WSDL

Studio valida un archivo o URL cuando lo cargas. Un error de validación al cargar significa que el archivo o URL no cumple con los siguientes requisitos:

  • Tipo de archivo: Al usar Cargar archivo, el archivo debe ser un archivo WSDL o ZIP. Otros tipos de archivo muestran un diálogo Tipo de archivo no compatible.

  • URL: Al usar Cargar URL, la URL debe devolver un archivo WSDL y ser accesible sin autenticación. Una URL que requiere autenticación muestra un error que comienza con Request failed with status code seguido del código de estado HTTP, como 401.

  • WSDL: El WSDL debe ser un documento WSDL válido con un elemento raíz <definitions>. Un esquema XSD no es un WSDL válido. Los elementos a los que hace referencia el WSDL, como mensajes, deben estar definidos en el WSDL. Un WSDL que no se pueda analizar muestra un error que comienza con Failed to parse WSDL seguido del problema específico.

  • Archivo ZIP: Un archivo ZIP debe contener al menos un archivo WSDL y puede incluir archivos XSD de los que depende el WSDL. Un archivo ZIP sin WSDL válido, como uno que contiene solo archivos XSD, muestra un error. El WSDL puede estar en una carpeta dentro del archivo ZIP. Si el archivo ZIP contiene más de un archivo WSDL, Studio muestra un diálogo Seleccionar WSDL raíz donde eliges el archivo raíz.

  • Archivos XSD importados: Los archivos XSD que importa el WSDL deben usar rutas relativas en schemaLocation y cargarse en un archivo ZIP junto con el WSDL, en la ubicación relativa que especifica schemaLocation. Si falta un archivo importado, el error incluye no such file or directory y termina con el nombre del archivo que falta. Para obtener más detalles, consulta SOAP WSDL: schemaLocation debe usar referencias relativas.

Reemplazar un WSDL cargado

Al reemplazar un WSDL cargando uno con el mismo nombre, sus operaciones WSDL deben tener el mismo nombre que las que actualmente están siendo utilizadas por actividades existentes. Si no tienen el mismo nombre o si faltan las operaciones WSDL en uso en el WSDL de reemplazo, el siguiente mensaje de error te instruye para que primero elimines esas actividades y enumera cuáles deben ser eliminadas:

Texto del diálogo

No se puede cargar WSDL
No se puede reemplazar este WSDL porque le faltan operaciones WSDL que utilizan las actividades existentes que se enumeran a continuación. Elimina estas actividades de la pestaña Componentes del panel de proyectos e intenta nuevamente.

  • Actividades que se deben eliminar
    Activity 1 (SOAP Endpoint)

  • Operaciones WSDL no definidas que utilizan estas actividades
    Operation 1

Después de la eliminación, el siguiente mensaje de confirmación enumera las actividades que pueden verse afectadas por el reemplazo del WSDL para revisar las transformaciones adyacentes en busca de posibles errores de mapeo. Al reconocer el mensaje, el WSDL se reemplazará en todas las ubicaciones donde se utiliza en todo el proyecto:

Texto del diálogo

¿Sobrescribir archivo?
Este WSDL tiene operaciones WSDL que reemplazarán las que utilizan las actividades existentes que se enumeran a continuación. Como las transformaciones pueden heredar esquemas de actividades, revisa las transformaciones adyacentes en busca de errores de mapeo.

  • Actividades que pueden verse afectadas
    Activity 1

  • Operaciones WSDL definidas que utilizan estas actividades
    Operation 1

Solución de problemas

La implementación de un proyecto que incluye una conexión SOAP puede fallar con un error similar a este:

Texto de error

Failed to deploy - Internal Error: No WSDL with locator '0a12b345-6c7d-8e9f-0ghi-1jkl23m4567n.wsdl' has been added to this project. Upgrade to the 8.4.0 Studio or higher and deploy the project again. Try the operation again, if the problem persists please contact Jitterbit support.

Esto significa que el proyecto hace referencia a un WSDL que ya no está disponible, y volver a cargar el WSDL resuelve el problema. Antes de la versión Harmony 12.9, la implementación de un proyecto también podría eliminar archivos WSDL que aún estaban en uso, lo que generalmente sucedía después de transferir el proyecto a otro entorno. La versión 12.9 evita esa eliminación, pero aún se debe volver a cargar un WSDL eliminado anteriormente.

El mismo error puede ocurrir con las actividades SOAP Request y SOAP Response de API, que cargan un WSDL en la actividad en lugar de en una conexión.

Si has cargado múltiples WSDLs, puedes identificar cuál tiene el problema siguiendo estos pasos:

  1. Exporta el proyecto como un archivo JSON.

  2. Abre el archivo JSON en un editor de texto.

  3. Busca el localizador sin el sufijo .wsdl. Por ejemplo:

    0a12b345-6c7d-8e9f-0ghi-1jkl23m4567n
    
  4. La coincidencia aparecerá en un objeto con una clave wsdlDocumentId:

    "wsdlDocumentId": "0a12b345-6c7d-8e9f-0ghi-1jkl23m4567n"
    
  5. Busca información de identificación del endpoint cerca, en un bloque endpoint-configuration o en campos como label, name, portName, etc. También puedes ver nombres de operaciones asociados con el WSDL (importAccount, importInventory, etc.) para confirmar cuál es el endpoint.

    Caution

    El campo duplicateRef puede aparecer en exportaciones como un campo de linaje de duplicación (no un identificador WSDL) y puede hacer referencia a componentes no relacionados (scripts/transformaciones).

Para volver a cargar el WSDL:

  1. Abre la pantalla de configuración del endpoint SOAP.

  2. Reimporta el WSDL mediante las opciones Upload URL o Upload file. No selecciones Select existing. Si la carga muestra un error de validación, consulta Requisitos de carga de WSDL.

  3. Revisa la configuración del endpoint SOAP. Es posible que tengas que volver a seleccionar el puerto SOAP y los métodos. Luego haz clic en Save.

  4. Revisa la configuración de cualquier actividad SOAP que utilice el endpoint SOAP para regenerar sus esquemas.

  5. Actualiza la configuración de cualquier transformación descendente para cambios de mapeo.

Recomendamos eliminar el WSDL con el error después de quitar cualquier actividad dependiente.

Próximos pasos

Se puede acceder a las acciones de menú para una conexión y sus tipos de actividad desde el panel del proyecto y la paleta de componentes de diseño. Para obtener más detalles, consulta Menús de acciones en Conceptos básicos de conectores.

Después de configurar una conexión SOAP, puedes configurar una o más actividades SOAP asociadas con esa conexión para usarlas como origen para proporcionar datos a una operación o como destino para consumir datos en una operación, o bien puedes usar la conexión SOAP en un script.

Para obtener más información, consulta Actividades SOAP.