WebSphere MQ Web Services Transport es un servicio que conecta clientes de servicios web que utilizan el protocolo HTTP para mensajería.
Los clientes de servicios web utilizan mensajería no transaccional y no permanente para comunicarse con otras aplicaciones. WebSphere Business Integration Message Broker ofrece soporte para permitir que los clientes se comuniquen con otras aplicaciones a través de flujos de mensajes utilizando un intermediario.
Los clientes son suministradores de servicio o peticionarios de servicio. Los suministradores de servicio publican sus servicios, definidos en WSDL, en un registro. Los peticionarios de servicio consultan el registro de servicios para localizar información sobre los servicios disponibles, que incluye dónde se encuentran los servicios y cómo enlazar a ellos.
La posibilidad de comunicar con un intermediario significa que los clientes de servicios web se pueden comunicar con aplicaciones que utilizan otros transportes y protocolos para los que se ofrece soporte, si el flujo de mensajes se ha configurado para proporcionar esta función.
Si desea ver más información, siga el enlace de los servicios web del sitio web developerWorks.
Los mensajes que pasan a través de este transporte tienen un formato XML que proporciona independencia de plataforma. El estándar SOAP establece el contenido XML que define operaciones específicas y situaciones de error (Error SOAP). Puesto que no se garantiza la entrega, las aplicaciones deben facilitar la recuperación en caso de que se produzcan anomalías en el sistema o en la red.
Un mensaje contiene componentes que son adecuados para este tipo:
En la mayoría de los casos, el cuerpo de un mensaje es XML. Sin embargo, un mensaje de entrada puede contener un formato diferente si el nodo receptor se ha configurado para manejar dicho formato y los analizadores adecuados están disponibles. Un mensaje de entrada puede contener un cuerpo de cualquier formato que acepte el servicio web al que se envía.
El resultado de un error generado por un componente que no sea un servicio web (por ejemplo, 404 Not Found) puede ser que un mensaje tenga un formato HTML.
La corriente de bits que contiene cabeceras y cuerpo se analiza y representa en el árbol de mensajes cuando un nodo HTTPInput recibe una petición de entrada, o bien, cuando el nodo HTTPRequest recibe una respuesta de un servicio web. Los analizadores crean una corriente de bits a partir de los componentes adecuados del árbol de mensajes cuando el nodo HTTPReply envía una respuesta al cliente y cuando el nodo HTTPRequest envía una petición a un servicio web. Para obtener información detallada sobre estas acciones, consulte las descripciones específicas de los nodos.
Cuando se recibe un mensaje desde un cliente de servicios web o un servidor web, el nodo HTTPInput o HTTPRequest que lo recibe debe analizar las cabeceras HTTP para crear elementos en el árbol de mensajes. Cuando un mensaje HTTPReply o HTTPRequest envía un mensaje a un cliente de servicios web o a un servidor web, analiza las cabeceras HTTP del árbol de mensajes para una corriente de bits.
Las cabeceras HTTP de un mensaje dependen del tipo de mensaje que se procesa. Existe cuatro tipos de mensajes reconocidos en un flujo de mensajes y cada uno de ellos tiene un analizador asociado.
Cabecera | Contenido | Ejemplo |
---|---|---|
Host | Nombre del sistema principal para el que el cliente ha emitido el mensaje. | localhost |
Content-Length | Longitud del cuerpo del mensaje de entrada en decimales (después de CRLFCRLF y antes de la última cabecera). | 520 |
Content-Type | Tipo de datos del cuerpo. | text/xml; charset=utf-8 |
SOAPAction | "" (serie de caracteres vacía) |
Cabecera | Valor |
---|---|
Content-Length (si está presente en el mensaje de entrada) | Longitud calculada del cuerpo del mensaje de respuesta en decimales. |
Content-Type | text/xml; charset=utf-8 |
Cabecera | Valor |
---|---|
Host | Valor establecido en la propiedad URL de servicios web por omisión. |
Content-Length | Longitud calculada del cuerpo del mensaje de solicitud en decimales. |
Content-Type | text/xml; charset=utf-8 |
SOAPAction | "" (serie de caracteres vacía) |
Cabecera | Contenido | Ejemplo |
---|---|---|
Content-Length | Longitud del cuerpo del mensaje de respuesta en decimales. | 1585 |
Mensajes de ejemplo proporciona mensajes de ejemplo que incluyen estas cabeceras.
Los mensajes siguientes proporcionan un ejemplo de una petición que ha enviado un nodo HTTPRequest a un servicio web que ofrece un servicio de búsqueda:
POST /greenpages/servlet/rpcrouter HTTP/1.0 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: 520 SOAP Action: "" Cookie: JSESSIONID=0000B5OSLFIUDMQZFAUXKHD5ZDQ:-1 <?xml version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schema.xmlsoap.org.soap/envelope/" xmlns:xsi="http://www.w3/2001/XMLSchema-instance" xmlns:xsd="http://www.w3/2001/XMLSchema"> <SOAP-ENV:Body> <ns1:getUserByName xmlns:ns1="http://tempuri.org/imb.GreenPages" SOAP-ENV:encodingStyle="http:/schemas.xmlsoap.org/soap/encoding/"> <nameField xsl:type="xsd:string">bloggs, joe</nameField> </ns1:getUserByName> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
El mensaje siguiente es un ejemplo de la respuesta que se puede devolver al nodo HTTPRequest:
HTTP/1.0 200 OK Server: WebSphere Application Server/4.0 Content-Type: text/xml; charset=utf-8 Content-Length: 1585 Content-Language: en Connection: close <?xml version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schema.xmlsoap.org.soap/envelope/" xmlns:xsi="http://www.w3/2001/XMLSchema-instance" xmlns:xsd="http://www.w3/2001/XMLSchema"> <SOAP-ENV:Body> <ns1:getUserByNameResponse xmlns:ns1="http://tempuri.org/imb.GreenPages" SOAP-ENV:encodingStyle="http:/schemas.xmlsoap.org/soap/encoding/"> <return xmlns:ns2="http://www.greenpages.com/schemas/GreenPagesRemoteInterface" xsi:type="ns2:imb.UserRecord"> <fullName xsi:type="xsd:string">Joseph Bloggs</fullName> <empNum xsi:type="xsd:int">65874</empNum> <deskPhone xsi:type="xsd:string">(718)545-3623</deskPhone> </return> </ns1:getUserByNameResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Conceptos relacionados
Flujos de mensajes
Generación del lenguaje de descripción de servicios web (WSDL)
Tareas relacionadas
Desarrollo de aplicaciones de flujos de mensajes
Generación de una definición de servicio web desde un conjunto de mensajes
Difusión de aplicaciones de flujos de mensajes
Referencia relacionada
WebSphere MQ Web Services Transport
Sitio web developerWorks
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ac00475_ |