Ejemplo de interfaz

El esquema para los mensajes XML que la aplicación de proveedor espera son necesarios como base de los elementos de solicitud en el archivo WSDL que se utiliza como interfaz de servicio.

Por ejemplo, la aplicación de proveedor puede tomar mensajes con una acción y que esos mensajes contengan el elemento en el que esa acción debe realizarse. El siguiente ejemplo contiene una acción, SaveItem, que se convierte en la operación de servicio:

	<?xml version="1.0" encoding="UTF-8"?>
	<schema targetNamespace="http://ServiceFacade_RR" elementFormDefault="qualified" 
	xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ServiceFacade_RR">
	<complexType name="Item">
	<sequence> 
	<element name="Name" type="string"></element>
	<element name="Code" type="string"></element>
	<element name="Description" type="string"></element>
	<element name="Location" type="string"></element> 
	</sequence> 
	</complexType> 
	<element name="SaveItem" type="tns:SaveItem"></element> 
	<complexType name="SaveItem"> 
	<sequence> 
	<element name="Item" type="tns:Item"></element>
	</sequence> 
	</complexType> 
	</schema>
	

El WSDL asociado debe definir un mensaje de entrada con un elemento que corresponde al elemento de nivel superior que requiere el esquema de proveedor. El siguiente fragmento corresponde al esquema de proveedor anterior:

	<wsdl:message name="SaveItemRequestMsg"> <wsdl:part name="SaveItemRequest" 
	element="tns:SaveItem"></wsdl:part> </wsdl:message> 

Acuse de recibo

El patrón fija el acuse de recibo y se aplica a todas las instancias de patrón, pero los espacios de nombres pueden variar.

El esquema para el acuse de recibo (con espacios de nombres específicos del patrón indicados) es:

	<?xml version="1.0" encoding="UTF-8"?> 
	<schema targetNamespace="<instance specific>" 
	elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" 
	xmlns:tns="http://<instance specific>" "> 
	<complexType name="Ack"> 
	<sequence> 
	<element name="acknowledgment" type="string"></element> 
	</sequence> 
	</complexType> 
	<element name="Response" type="tns:Ack">
	</element> 
	</schema>

La entrada de WSDL que define el mensaje de respuesta debe hacer referencia a la siguiente respuesta:

	<wsdl:message name="SaveItemResponseMsg"> <wsdl:part name="Response" 
	element="tns:Response"></wsdl:part> </wsdl:message>

Volver a la especificación del patrón Fachada de servicio a WebSphere MQ: unidireccional con acuse de recibo