Para poder ejecutar el ejemplo, antes debe haber desplegado el flujo de mensajes y el conjunto de mensajes de ejemplo.
Si encuentra cualquier tipo de problema al ejecutar el ejemplo, consulte Resolución de problemas cuando se ejecutan ejemplos en la documentación de WebSphere Message Broker.
Para ejecutar el ejemplo de Validación XMLNSC con un mensaje que pasa la validación:
El mensaje de entrada pasa todas las comprobaciones de validación. En el Cliente de prueba se recupera un mensaje de la cola XMLNSCVALIDATIONMF1.OUT y se muestra una copia del mensaje de entrada bajo Mensaje en el Cliente de prueba.
Para ejecutar el ejemplo de Validación XMLNSC cuando el mensaje de entrada no pasa la validación debido a que faltan datos:
<Header Title="MissingElement"></Header>
El mensaje de entrada no pasa la validación. En el Cliente de prueba, se recupera un mensaje de la cola XMLNSCVALIDATIONMF1.FAIL y se muestra parte de la Lista de excepciones como un mensaje XML. Este mensaje de Lista de excepciones contiene el siguiente fragmento:
<Text>Suceso de elemento final no esperado. El contenido del elemento 'Header' no está completo.</Text>
El resultado incorrecto de la validación se debe a que el mensaje de entrada debe tener un elemento llamado SaleListCount como hijo de Header. La siguiente sección del esquema XML SampleMessageValidation.xsd es donde se define este requisito:
<xsd:complexType name="Header"> <xsd:sequence> <xsd:element name="SaleListCount" type="xsd:int"></xsd:element> </xsd:sequence> <xsd:attribute name="Title" type="xsd:string" use="optional"></xsd:attribute> </xsd:complexType>
Para ejecutar el ejemplo de Validación XMLNSC cuando el mensaje de entrada no pasa la validación debido un campo numérico que está fuera del rango:
<Quantity>1010</Quantity;>
El mensaje de entrada no pasa la validación. En el Cliente de prueba, se recupera un mensaje de la cola XMLNSCVALIDATIONMF1.FAIL y se muestra parte de la Lista de excepciones como un mensaje XML. Este mensaje de Lista de excepciones contiene el siguiente fragmento:
<Text>cvc-maxInclusive-valid: El valor "1010" no es válido con respecto a la faceta maxInclusive con el valor "100" para el tipo "#Anonymous".</Text>
El resultado incorrecto de la validación se debe a que el valor de Quantity en el mensaje de entrada debe estar en el rango de 1 a 100, inclusive. La siguiente sección del esquema XML SampleMessageValidation.xsd es donde se define este requisito:
<xsd:element name="Quantity"> <xsd:simpleType> <xsd:restriction base="xsd:int"> <xsd:minInclusive value="1"/> <xsd:maxInclusive value="100"/> </xsd:restriction> </xsd:simpleType> </xsd:element>
Para ejecutar el ejemplo de Validación XMLNSC cuando el mensaje de entrada no pasa la validación debido a que el valor de un elemento no sigue el patrón necesario:
<Code>0#</Code>
El mensaje de entrada no pasa la validación. En el Cliente de prueba, se recupera un mensaje de la cola XMLNSCVALIDATIONMF1.FAIL y se muestra parte de la Lista de excepciones como un mensaje XML. Este mensaje de Lista de excepciones contiene el siguiente fragmento:
<Text>cvc-pattern-valid: El valor "0#" no es válido con respecto a la faceta de patrón para el tipo "#Anonymous".</Text>
El resultado incorrecto de la validación se debe a que el valor de Code en el mensaje de entrada debe ser alfanumérico. La siguiente sección del esquema XML SampleMessageValidation.xsd es donde se define este requisito:
<xsd:element maxOccurs="3" minOccurs="3" name="Code"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9a-zA-Z]{2}"/> </xsd:restriction> </xsd:simpleType>
Para ejecutar el ejemplo de Validación XMLNSC cuando el mensaje de entrada no pasa la validación debido a un campo numérico que contiene datos no numéricos:
<Balance>$00.50</Balance>
El mensaje de entrada no pasa la validación. En el Cliente de prueba, se recupera un mensaje de la cola XMLNSCVALIDATIONMF1.FAIL y se muestra parte de la Lista de excepciones como un mensaje XML. Este mensaje de Lista de excepciones contiene el siguiente fragmento:
<Text>cvc-datatype-valid.1.2: El valor "$00.50" no es un valor válido para el tipo de datos "float".</Text>El resultado incorrecto de la validación se debe a que el valor de Balance debe ser un valor flotante y el símbolo de dólar no es un carácter válido para el tipo de datos flotante. La siguiente sección del esquema XML SampleMessageValidation.xsd es donde se define este requisito:
<xsd:element name="Balance" type="xsd:float"></xsd:element>
Para ejecutar el ejemplo de Validación XMLNSC cuando el mensaje de entrada no pasa la validación debido a que un campo es demasiado largo:
<Surname>Braithwaaaaaaaaaaaite</Surname>
El mensaje de entrada no pasa la validación. En el Cliente de prueba, se recupera un mensaje de la cola XMLNSCVALIDATIONMF1.FAIL y se muestra parte de la Lista de excepciones como un mensaje XML. Este mensaje de Lista de excepciones contiene el siguiente fragmento:
<Text>cvc-maxLength-valid: La longitud del valor "Braithwaaaaaaaaaaaite" es "21", que no es válido respecto a la faceta maxLength con el valor "20" para el tipo "#Anonymous".</Text>
El resultado incorrecto de la validación se debe a que la longitud máxima de Surname debe ser 20, mientras que la longitud en el menaje es 21. La siguiente sección del esquema XML SampleMessageValidation.xsd es donde se define este requisito:
<xsd:element name="Surname"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20"/> </xsd:restriction> </xsd:simpleType> </xsd:element>
Para ejecutar el ejemplo de Validación XMLNSC cuando el mensaje de entrada no pasa la validación debido a que el valor de un elemento no está en la lista de valores permitidos:
<Currency>FRF</Currency>
El mensaje de entrada no pasa la validación. En el Cliente de prueba, se recupera un mensaje de la cola XMLNSCVALIDATIONMF1.FAIL y se muestra parte de la Lista de excepciones como un mensaje XML. Este mensaje de Lista de excepciones contiene el siguiente fragmento:
<Text>cvc-enumeration-valid: El valor "FRF" no es válido con respecto a la faceta de enumeración para el tipo "#Anonymous". Debe ser un valor de la enumeración.</Text>
El resultado incorrecto de la validación se debe a que el elemento Currency debe contener uno de los valores permitidos definidos en el esquema. El valor que hay en el mensaje de entrada no coincide con ninguno de los valores de la lista. La siguiente sección del esquema XML SampleMessageValidation.xsd es donde se define este requisito:
<xsd:element name="Currency"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="USD"/> <xsd:enumeration value="GBP"/> <xsd:enumeration value="Sterling"/> <xsd:enumeration value="EUR"/> <xsd:enumeration value="Euros"/> <xsd:enumeration value="JPY"/> </xsd:restriction> </xsd:simpleType> </xsd:element>
Para ejecutar el ejemplo de Validación XMLNSC cuando el mensaje de entrada no pasa la validación debido a que tiene el espacio de nombres incorrecto:
<samp:SaleListMessage xmlns:samp="http://www.samplemessage.broker.hursley.ibm.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.samplemessage.broker.hursley.ibm.com/SampleMessageNamespace1.xsd">
El mensaje de entrada no pasa la validación. En el Cliente de prueba, se recupera un mensaje de la cola XMLNSCVALIDATIONMF1.FAIL y se muestra parte de la Lista de excepciones como un mensaje XML. Este mensaje de Lista de excepciones contiene el siguiente fragmento:
<Text>Código raíz inesperado. El elemento "samp:SaleListMessage" no es un elemento global.</Text>El resultado incorrecto de la validación se debe a que el elemento global SaleListMessage no tiene ningún espacio de nombres de destino definido en el esquema. La instancia en el mensaje de entrada tiene un código raíz llamado SaleListMessage con un espacio de nombres, lo que hace que sea diferente de lo que se espera de la definición de esquema. La siguiente sección del esquema XML SampleMessageValidation.xsd es donde se define este requisito:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="SaleListMessage" type="RootMessage"></xsd:element>
Cuando haya completado estos pasos, habrá ejecutado satisfactoriamente el ejemplo de Validación XMLNSC. Para obtener información sobre la estructura de las excepciones de validación XMLNSC, consulte Propiedades de validación.