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.
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.
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.
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>.
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
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.