É necessário implementar o fluxo de mensagem de amostra e o conjunto de mensagens antes de poder executar a amostra.
Se você encontrar algum problema ao executar a amostra, consulte Resolvendo problemas ao executar amostras na documentação do WebSphere Message Broker.
Para executar a amostra de Validação XMLNSC com uma mensagem que passa pela validação:
A mensagem de entrada passa por todas as verificações de validação. No Cliente de Teste, uma mensagem é recuperada a partir da fila XMLNSCVALIDATIONMF1.OUT, e uma cópia da mensagem de entrada é exibida em Mensagem no Cliente de Teste.
Para executar a amostra de Validação XMLNSC, em que a mensagem de entrada falha devido a falta de dados.
<Header Title="MissingElement"></Header>
A mensagem de entrada falha na validação. No Cliente de Teste, uma mensagem é recuperada da fila XMLNSCVALIDATIONMF1.FAIL, e parte da Lista de Exceções é exibida como um mensagem XML. Esta mensagem ExceptionList contém as seguintes partes:
<Text>Evento de elemento de fim inesperado. O conteúdo do elemento 'Header' não está completo.</Text>
O motivo para a falha na validação é que a mensagem de entrada deve ter um elemento chamado de SaleListCount como um filho do elemento Header. A seção a seguir do esquema XML SampleMessageValidation.xsd é onde este requisito é definido:
<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 executar a amostra Validação XMLNSC, em que a mensagem de entrada falha na validação porque um campo numérico está fora do limite.
<Quantity>1010</Quantity;>
A mensagem de entrada falha na validação. No Cliente de Teste, uma mensagem é recuperada da fila XMLNSCVALIDATIONMF1.FAIL, e parte da Lista de Exceções é exibida como um mensagem XML. Esta mensagem ExceptionList contém as seguintes partes:
<Text>cvc-maxInclusive-valid: O valor "1010" não é válido com relação à faceta maxInclusive com o valor "100" para o tipo "#Anonymous".</Text>
O motivo para a falha de validação é porque o valor da Quantidade na mensagem de entrada deve ser um número inteiro na faixa 1 a 100 inclusive. A seção a seguir do esquema XML SampleMessageValidation.xsd é onde este requisito é definido:
<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 executar a amostra de validação XMLNSC, em que a mensagem de entrada falha na validação porque o valor de um elemento não combina com o padrão requerido:
<Code>0#</Code>
A mensagem de entrada falha na validação. No Cliente de Teste, uma mensagem é recuperada da fila XMLNSCVALIDATIONMF1.FAIL, e parte da Lista de Exceções é exibida como um mensagem XML. Esta mensagem ExceptionList contém as seguintes partes:
<Text>cvc-pattern-valid: O valor "0#" não é válido com relação à faceta padrão para o tipo "#Anonymous".</Text>
O motivo para a falha na validação é que o valor de Code na mensagem de entrada deve ser alfanumérico. A seção a seguir do esquema XML SampleMessageValidation.xsd é onde este requisito é definido:
<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 executar a amostra Validação XMLNSC, em que a mensagem de entrada falha na validação porque um campo numérico contém dados não-numéricos:
<Balance>$00.50</Balance>
A mensagem de entrada falha na validação. No Cliente de Teste, uma mensagem é recuperada da fila XMLNSCVALIDATIONMF1.FAIL, e parte da Lista de Exceções é exibida como um mensagem XML. Esta mensagem ExceptionList contém as seguintes partes:
<Text>cvc-datatype-valid.1.2: O valor "$00.50" não é um valor válido para o tipo de dados "float".</Text>O motivo da falha de validação é porque o valor do Saldo deve ser uma flutuação, e o símbolo de dólar não é um caractere válido para tipo de dados flutuantes. A seção a seguir do esquema XML SampleMessageValidation.xsd é onde este requisito é definido:
<xsd:element name="Balance" type="xsd:float"></xsd:element>
Para executar a amostra de Validação XMLNSC, em que a mensagem de entrada falha na validação porque o campo é longo demais:
<Surname>Braithwaaaaaaaaaaaite</Surname>
A mensagem de entrada falha na validação. No Cliente de Teste, uma mensagem é recuperada da fila XMLNSCVALIDATIONMF1.FAIL, e parte da Lista de Exceções é exibida como um mensagem XML. Esta mensagem ExceptionList contém as seguintes partes:
<Text>cvc-maxLength-valid: The length of value "Braithwaaaaaaaaaaaite" is "21" which is not valid with respect to maxLength facet with value "20" for type "#Anonymous".</Text>
O motivo para a falha na validação é que o comprimento máximo de Surname deve ser de 20, enquanto que o comprimento na mensagem é 21. A seção a seguir do esquema XML SampleMessageValidation.xsd é onde este requisito é definido:
<xsd:element name="Surname"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20"/> </xsd:restriction> </xsd:simpleType> </xsd:element>
Para executar a amostra de Validação XMLNSC, em que a mensagem de entrada falha na validação porque o valor de um elemento não está na lista de valores permitidos:
<Currency>FRF</Currency>
A mensagem de entrada falha na validação. No Cliente de Teste, uma mensagem é recuperada da fila XMLNSCVALIDATIONMF1.FAIL, e parte da Lista de Exceções é exibida como um mensagem XML. Esta mensagem ExceptionList contém as seguintes partes:
<Text>cvc-enumeration-valid: O valor "FRF" não é válido com respeito à faceta enumeração para o tipo "#Anonymous". Ele deve ser um valor a partir da enumeração.</Text>
O motivo para a falha na validação é que o valor do elemento Currency deve conter um dos valores permitidos definidos no esquema. O valor na mensagem de entrada não corresponde a nenhum dos valores na lista. A seção a seguir do esquema XML SampleMessageValidation.xsd é onde este requisito é definido:
<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 executar a amostra Validação XMLNSC, em que a mensagem de entrada falha na validação porque tem espaços de nomes errados:
<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">
A mensagem de entrada falha na validação. No Cliente de Teste, uma mensagem é recuperada da fila XMLNSCVALIDATIONMF1.FAIL, e parte da Lista de Exceções é exibida como um mensagem XML. Esta mensagem ExceptionList contém as seguintes partes:
<Text>Tag raiz inesperada. Elemento "samp:SaleListMessage" não é um elemento global.</Text>O motivo para a falha na validação é que o elemento global AleListMessage não possui um espaço de nomes de destino definido no esquema. A instância na mensagem de entrada possui uma tag raiz chamada SaleListMessage com um espaço de nomes, tornando-a diferente do que é esperado a partir da definição do esquema. A seção a seguir do esquema XML SampleMessageValidation.xsd é onde este requisito é definido:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="SaleListMessage" type="RootMessage"></xsd:element>
Quando tiver concluído estas etapas, você terá executado com êxito a amostra de Validação XMLNSC. Para obter informações sobre a estrutura das exceções de validação XMLNSC, consulte Propriedades de Validação.