Aunque ya fueron diseñados y descritos tanto un web service así como un Cliente que interactúa con éste, aún falta por describir la estructura de un mensaje SOAP, esto es, como se encuentra compuesta la solicitud enviada del Cliente hacia el web service y viceversa.
A continuación se describen estos mensajes:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" <SOAP-ENV:Body> <ns1:cotizacion xmlns:ns1="Petroleo"> <op1 xsi:type="xsd:string"> Brent </op1> <op2 xsi:type="xsd:integer"> 400 </op2> </ns1:cotizacion> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Primeramente es definido el clásico elemento para un documento/fragmento XML: <?xml version="1.0" encoding="UTF-8"?>
.
Posteriormente es definido el elemento raíz SOAP-ENV:Envelope
que como su nombre lo indica (Envelope=Sobre
), es empleado para describir el mensaje SOAP que será enviado; dentro de este elemento son definidos tres Namespaces, una para el mismo SOAP-Env
, otro para Schema y uno más para una instancia de Schema.
Terminada la definición del elemento Envelope
se declara el elemento SOAP-ENV:Body
(Nótese que pertenece al mismo Namespace que Envelope
) que contiene el cuerpo del mensaje SOAP.
Dentro del elemento Body
se anida el elemento ns1:cotizacion
que indica el inicio del mensaje hacia el web service llamado cotizacion
, nótese que el Namespace ns1
corresponde al nombre Petroleo
tal y como fue definido en el Cliente.
Son definidos los dos elementos que contienen los parámetros de entrada para el web service, uno de tipo string
y otro integer
; los valores Brent
y 400
representan los datos proporcionados por el usuario del web service.
Son definidos los elementos necesarios para cerrar las descripciones de ns1:cotizacion
, SOAP-ENV:Body
y SOAP-ENV:Envelope
.
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:cotizacionResponse xmlns:ns1="Petroleo"> <result xsi:type="xsd:double"> 6092.0 </result> </ns1:cotizacionResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Primeramente es definido el clásico elemento para un documento/fragmento XML: <?xml version="1.0" encoding="UTF-8"?>
.
Posteriormente es definido el elemento raíz SOAP-ENV:Envelope
que como su nombre lo indica (Envelope=Sobre
), es empleado para describir el mensaje SOAP que será enviado como respuesta; dentro de este elemento son definidos tres Namespaces, una para el mismo SOAP-Env
, otro para Schema y uno más para una instancia de Schema.
Terminada la definición del elemento Envelope
se declara el elemento SOAP-ENV:Body
(Nótese que pertenece al mismo Namespace que Envelope
) que contiene el cuerpo del mensaje SOAP.
Dentro del elemento Body
se anida el elemento ns1:cotizacionResponse
que indica el respuesta del web service llamado cotizacion
, nótese que el Namespace ns1
corresponde al nombre Petroleo
tal y como fue definido en el Cliente.
Es definido el elemento que contiene el parámetro de respuesta del web service, el cual es del tipo double
; el valor 6092.0
representa el resultado procesado por el web service.
Son definidos los elementos necesarios para cerrar las descripciones de ns1:cotizacionResponse
, SOAP-ENV:Body
y SOAP-ENV:Envelope
.
template
, XPath, Condicionales y Ciclos en XSL.