Servicios Web

Un participante puede solicitar un servicio web facilitado por el gestor de comunidad. Del mismo modo, el gestor de comunidad puede solicitar un servicio web facilitado por un participante. El participante o el gestor de comunidad invoca el servidor WebSphere Partner Gateway para obtener el servicio web. WebSphere Partner Gateway actúa como proxy, transmitiendo la petición de servicio web al proveedor de servicios web y devolviendo la respuesta de manera síncrona del proveedor al solicitante.

Este apartado contiene la información siguiente para configurar un servicio web para ser utilizado por parte de un participante o de un gestor de comunidad:

Identificación de los participantes para un servicio web

Cuando un gestor de comunidad proporciona un servicio web para que sea utilizado por parte de los participantes, WebSphere Partner Gateway requiere que cada participante se identifique. Cuando envíe la petición de servicio web, defina la identidad de uno de los dos modos siguientes:

  1. Utilice la autenticación básica de HTTP con ID de usuario con el formato <ID_empresa_participante>/<nombre_usuario_consola> (por ejemplo, 123456789/joesmith) y una contraseña igual a la contraseña del nombre de usuario de la consola.
  2. Presente un certificado de cliente SSL que previamente se haya cargado en WebSphere Partner Gateway para el participante

Cuando un participante facilita el servicio Web para que lo utilice el gestor de comunidad, el URL público utilizado por el gestor de comunidad para invocar el servicio Web debe incluir la serie de consulta ?to=<ID de empresa del participante>. Un ejemplo es:

http://<dirección_IP>/bcgreceiver/Receiver?to=123456789

Ello indica a WebSphere Partner Gateway que el proveedor del servicio web es el participante con el ID de empresa 123456789.

Creación de definiciones de flujo de documentos

Para configurar la definición de flujo de documentos, suba los archivos WSDL (Web Service Definition Language) que definen el servicio Web o especifique manualmente las definiciones de flujo de documentos mediante la consola de comunidad.

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:

Por ejemplo, suponga que el archivo WSDL primario helloworldRPC.wsdl contiene el siguiente elemento de importación:

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

Además, suponga que el archivo WSDL importado, bindingRPC.wsdl, contiene el siguiente elemento de importación:

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

El archivo debe contener lo siguiente:

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 Partner Gateway. Se transmiten directamente, con el URL de punto final del servicio original). Esto se conoce como WSDL privado.

Además, un WSDL público se guarda con el URL privado sustituido por el URL de destino especificado en la página Subir/descargar paquetes. 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 Partner Gateway direccionará entonces la petición de servicio web a una pasarela que es el URL privado del proveedor de servicios web original. WebSphere Partner Gateway 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 descargarse de la consola de comunidad tras subir el WSDL.

Subir archivos WSDL con la consola de comunidad

WebSphere Partner Gateway proporciona un método para 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 comprimido.

Importante: Los archivos WSDL del archivo comprimido deben estar dentro de un directorio especificado en el elemento de importación de WSDL. Por ejemplo, suponga que tiene 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 comprimido sería: path1/bindingRPC.wsdl.

Considere este ejemplo:

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

El archivo bindingRPC.wsdl estaría en el nivel de directorio raíz dentro del archivo comprimido.

Para subir un archivo WSDL o un archivo 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/descargar paquetes.
  3. En Paquete WSDL, pulse .
  4. En URL público de servicio web, realice uno de los siguientes pasos:
  5. Pulse Examinar y seleccione el archivo WSDL o el archivo comprimido.
  6. 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.
  7. 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.
  8. Pulse Subir. El archivo WSDL se instala en el sistema.
Validación de paquetes utilizando archivos de esquema

Un conjunto de esquemas XML que describen los archivos XML que pueden subirse a través de la consola que se proporciona en el soporte de instalación de WebSphere Partner Gateway. 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

Creación manual de una definición de flujo de documentos

Para especificar manualmente las definiciones de flujo de documentos equivalentes, siga los procedimientos que se describen en este apartado. También debe crear individualmente las entradas de flujo de documentos, actividad y acción bajo Protocolo: Servicio Web, 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:

Las definiciones clave son las acciones, pues WebSphere Partner Gateway 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 Partner Gateway.

Por ejemplo, suponga que un mensaje SOAP de petición de servicio Web para un enlace SOAP documento-literal es:

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

WebSphere Partner Gateway 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 Partner Gateway buscaría una acción de servicio web definida 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 para el servicio Web.

Creación de interacciones

Para crear una interacción para un servicio Web, utilice la misma acción de flujo de documentos de servicios Web para 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. En Origen, expanda Paquete: Ninguno > Protocolo: Servicio Web > Flujo de documentos: < flujo de documentos> > Acción: <acción>. Repita este paso en la columna Destino.
  5. Seleccione Paso a través en la lista Acción al final de la página. (Paso a través es la única opción válida soportada en WebSphere Partner Gateway para un servicio Web).

Restricciones y limitaciones del soporte de servicio Web

WebSphere Partner Gateway soporta los estándares siguientes:

Nota:

Copyright IBM Corp. 2003, 2005