Configuración de definiciones de flujo de documentos para un servicio web

Para configurar la definición de flujo de documentos, suba los archivos WSDL (Web Service Definition Language) que definen el servicio web, tal como se describe en Configuración del concentrador. De forma alternativa, también puede especificar manualmente las definiciones de flujo de documentos mediante la consola de comunidad.

Para especificar manualmente las definiciones de flujo de documentos equivalentes, siga los procedimientos que se describen en Creación de una definición de flujo de documentos. También debe crear individualmente las entradas de flujo de documentos, actividad y acción bajo el servicio web del protocolo, tal como se describe a continuación, prestando especial atención a los requisitos de la acción y su relación con los mensajes SOAP recibidos.

En relación con la jerarquía Paquete/Protocolo/Flujo de documentos/Actividad/Acción de las definiciones de flujo de documentos, un servicio web admitido se presenta como:

Paquete: ninguno (nombre y código), versión N/D
Protocolo: servicio web (nombre y código), versión 1.0
Flujo de documentos: '{<espacio de nombres del servicio web>}:<nombre de servicio web >' (nombre y código), que debe ser único entre los flujos de documento para el protocolo de servicio web. Suele ser el espacio de nombres y el nombre de WSDL
Actividades: una actividad para cada operación de servicio web, con nombre y código

'{<espacio de nombres de la operación>}:<nombre de la operación>'
 

Acciones: una acción para el mensaje de entrada de cada operación, con nombre y código

'{<espacio de nombres del elemento xml identificador = primer hijo de soap:body>}:<nombre del
 elemento xml identificador = primer hijo de soap:body>'
 

Las definiciones clave son las acciones, pues WebSphere Business Integration Connect utilizará el espacio de nombres y el nombre de una acción para reconocer un mensaje SOAP de petición de servicio web entrante y direccionarlo apropiadamente basándose en una conexión de participante definida. El espacio de nombres y el nombre del primer elemento XML hijo del elemento soap:body del mensaje SOAP recibido deben coincidir con el espacio de nombres y el nombre de una acción conocida en las definiciones de flujo de documentos de WebSphere Business Integration Connect.

Por ejemplo, cuando un mensaje SOAP de petición de servicio web es como el siguiente (para un enlace SOAP documento-literal):

<?xml version="1.0" encoding="UTF-8"?>
  
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:xsd=
 "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/
 2001/XMLSchema-instance">
  <soapenv:Body>
   <nameAndAddressElt xmlns="http://www.helloworld.com/xsd/helloDocLitSchema">
    <titleElt xmlns="">Mr</titleElt>
    <nameElt xmlns="">Joe Smith</nameElt>
    <addressElt xmlns="">
     <numberElt>123</numberElt>
     <streetElt>Elm St</streetElt>
     <cityElt>Peoria</cityElt>
    </addressElt>
   </nameAndAddressElt>
  </soapenv:Body>
 </soapenv:Envelope>
 

En ese caso, WebSphere Business Integration Connect buscaría una acción de servicio web definida con este código:

{http://www.helloworld.com/xsd/helloDocLitSchema}:nameAndAddressElt

Para un mensaje de petición SOAP de estilo de enlace RPC, por ejemplo:

<?xml version="1.0" encoding="UTF-8"?>
  
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:xsd=
 "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/
 2001/XMLSchema-instance">
  <soapenv:Body>
   <ns1:helloWorldRPC soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/
 encoding/ xmlns:ns1="http://www.helloworld.com/helloRPC">
    <name xsi:type="xsd:string">Joe Smith</name>
   </ns1:helloWorldRPC>
  </soapenv:Body>
 </soapenv:Envelope>
 

WebSphere Business Integration Connect buscaría una acción definida de servicio web con este código: {http://www.helloworld.com/helloRPC}:helloWorldRPC

Para un enlace RPC, el espacio de nombres y el nombre del primer elemento hijo de soap:body de un mensaje de petición SOAP debería ser el espacio de nombres y el nombre de la operación de servicio web aplicable.

Para un enlace documento-literal, el espacio de nombres y el nombre del primer elemento hijo de soap:body de un mensaje de petición SOAP debería ser el espacio de nombres y el nombre del atributo XML 'element' en el elemento 'part' de la definición de 'message' de entrada para el servicio web.

Subir los archivos WSDL para un servicio web

La definición de un servicio web debería incluirse en un archivo WSDL primario, con la extensión ".wsdl", que podría importar archivos WSDL adicionales mediante el elemento "import". Si existen archivos importados, estos pueden subirse con el archivo primario utilizando uno de los dos métodos siguientes:

Ejemplo:

El archivo WSDL primario contiene 'helloworldRPC.wsdl'

'<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location=
 "bindingRPC.wsdl"/>'
 

El archivo WSDL importado 'bindingRPC.wsdl' contiene

'<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location=
 "port/porttypeRPC.wsdl"/>'
 

El archivo zip debería incluir:

Nombre                   Vía de acceso
  
 helloworldRPC.wsdl
  
 bindingRPC.wsdl
  
 porttypeRPC.wsdl               port\
 

Cuando se sube la definición de un archivo WSDL de un servicio web, el WSDl original se guarda como correlación de validación. (Los mensajes de servicio web no están realmente validados por WebSphere Business Integration Connect. Se transmiten directamente, con el URL de punto final del servicio original). Esto se conoce como WSDL privado.

Además, se guarda un WSDL público con el URL privado sustituido por un URL de destino, tal como facilita el usuario en la entrada Subida de flujo de documentos. El WSDL público se facilitará a los usuarios del servicio web, que invocarán el servicio web en el URL del destino (el URL público). WebSphere Business Integration Connect direccionará entonces la petición de servicio web a una pasarela que es el URL privado del proveedor de servicios web original. WebSphere Business Integration Connect actúa como proxy, enviando la petición de servicio web al URL de un proveedor privado, que se oculta del usuario del servicio web.

Los WSDL privado y público (incluidos todos los archivos importados) pueden bajarse de la consola de comunidad tras subir el WSDL.

Subir archivos WSDL con la consola de comunidad

Business Integration Connect ofrece un modo de importar archivos WSDL. Si un servicio web se define en un archivo WSDL individual, puede subir el archivo WSDL directamente. Si el servicio web se define utilizando múltiples archivos WSDL (tal como sucede cuando se han importado archivos WSDL, en un archivo WSDL primario), estos se subirían en un archivo ZIP comprimido.

Importante: Los archivos WSDL del archivo ZIP comprimido deben estar dentro de un directorio especificado en el elemento de importación de WSDL. Por ejemplo, con el siguiente elemento de importación: <import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location="path1/bindingRPC.wsdl"/>, la estructura de directorios dentro del archivo ZIP sería path1/bindingRPC.wsdl. En el siguiente ejemplo: <import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location="bindingRPC.wsdl"/>, el archivo bindingRPC.wsdl estaría en el nivel de raíz dentro del archivo ZIP comprimido.

Para subir un archivo WSDL o un archivo ZIP comprimido individual, siga el procedimiento siguiente.

  1. Pulse Administración de concentrador > Configuración de concentrador > Definición de flujo de documentos.
  2. Pulse Subir/bajar paquetes.
  3. Seleccione para que el paquete WSDL suba un archivo WSDL. En URL público de servicio web, especifique el URL público del servicio web facilitado por el administrador de comunidad (que será invocado por un participante). Por ejemplo, http(s)://<sistema_principal_destino:puerto>/bcgreceiver/Receiver. El URL suele ser el mismo que el destino HTTP de producción definido en Destinos.

    En un servicio web proporcionado por un participante (invocado por el gestor de comunidad), especifique el URL público del participante con una cadena de consulta. Por ejemplo, http(s)://<sistema_principal_destino:puerto>/bcgreceiver/Receiver?to=<participant business ID>.

  4. Pulse Examinar y seleccione el archivo WSDL o el archivo ZIP comprimido.
  5. En Confirmar en base de datos, seleccione No si desea subir el archivo en modo prueba. Si selecciona No, el archivo no se instalará en el sistema. Utilice los mensajes generados por el sistema que aparecen en el recuadro de mensajes para solucionar cualquier error de subida. Seleccione para subir el archivo en la base de datos del sistema.
  6. En Sobrescribir datos, seleccione para sustituir un archivo que actualmente se encuentra la base de datos. Seleccione No para añadir el archivo a la base de datos.
  7. Pulse Subir. El archivo WSDL se instala en el sistema.

Validación de paquetes utilizando archivos de esquema

En el medio de instalación de Business Integration Connect se facilita un conjunto de esquemas XML que describen los archivos XML que pueden subirse mediante la consola. Los archivos que se suben se validan frente a estos esquemas. Los archivos de esquema son una referencia útil para averiguar la causa de un error cuando un archivo no puede cargarse debido a un XML no adecuado. Los archivos son: wsdl.xsd, wsdlhttp.xsd y wsdlsoap.xsd, que contienen el esquema que describe los archivos WSDL (Web Service Definition Language) válidos.

Los archivos se encuentran en: B2BIntegrate\packagingSchemas

Configuración de una interacción para un nuevo servicio web

El paso final para crear las definiciones de flujo de documentos necesarias para un nuevo servicio web consiste en configurar una interacción con la misma acción de flujo de documentos de servicio web que el origen y el destino.

Para crear interacciones, siga este procedimiento.

  1. Pulse Administración de concentrador > Configuración de concentrador > Definición de flujo de documentos.
  2. Pulse Gestionar interacciones.
  3. Pulse Crear interacción.
  4. Seleccione Paso a través de la lista desplegable Acción de la parte inferior de la pantalla (Paso a través es la única opción válida admitida en WebSphere Business Integration Connect para un servicio web).

Copyright IBM Corp. 1997, 2004