Executando a Amostra de Validação XMLNSC

É 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.

Executando a amostra com uma mensagem que passa pela validação

Para executar a amostra de Validação XMLNSC com uma mensagem que passa pela validação:

  1. Na visualização Desenvolvimento do Broker, expanda o projeto de fluxo de mensagens XMLNSCVALIDATIONMF e, em seguida, clique duas vezes em XMLNSCVALIDATIONMF1.mbtest para abri-lo no Cliente de Teste.
  2. Clique com o botão direito do mouse em Chamar Fluxo de Mensagens na área de janela Eventos de Teste do Fluxo de Mensagens e clique em Chamar.
  3. No campo Corpo, selecione Importar a partir de Arquivo Externo, clique em Área de Trabalho e navegue para o arquivo ValidMessage.xml a partir do diretório XMLNSCVALIDATIONMF na sua área de trabalho.
  4. Clique em OK.
  5. Clique em Enviar Mensagem.

    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.

Executando a amostra com uma mensagem que possui dados faltando

Para executar a amostra de Validação XMLNSC, em que a mensagem de entrada falha devido a falta de dados.

  1. Clique com o botão direito do mouse em Chamar Fluxo de Mensagens na área de janela Eventos de Teste do Fluxo de Mensagens e clique em Chamar.
  2. No campo Corpo, selecione Importar a partir de Arquivo Externo, clique em Área de Trabalho e navegue para o arquivo MissingElement.xml a partir do diretório XMLNSCVALIDATIONMF na sua área de trabalho. Esta mensagem contém as seguintes partes:
    <Header Title="MissingElement"></Header>
    
  3. Clique em OK.
  4. Clique em Enviar Mensagem.

    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>
    

Executando a amostra com uma mensagem com campo numérico que está fora do intervalo

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.

  1. Clique com o botão direito do mouse em Chamar Fluxo de Mensagens na área de janela Eventos de Teste do Fluxo de Mensagens e clique em Chamar.
  2. No campo Corpo, selecione Importar a partir de Arquivo Externo, clique em Área de Trabalho e navegue para o arquivo NumericOutOfRange.xml a partir do diretório XMLNSCVALIDATIONMF na sua área de trabalho. A mensagem contém as seguintes partes:
    <Quantity>1010</Quantity;>
    
  3. Clique em OK.
  4. Clique em Enviar Mensagem.

    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>
    

Executando a amostra com um elemento que não está em conformidade com o padrão necessário:

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:

  1. Clique com o botão direito do mouse em Chamar Fluxo de Mensagens na área de janela Eventos de Teste do Fluxo de Mensagens e clique em Chamar.
  2. No campo Corpo, selecione Importar a partir de Arquivo Externo, clique em Área de Trabalho e navegue para o arquivo PatternMismatch.xml a partir do diretório XMLNSCVALIDATIONMF na sua área de trabalho. A mensagem contém as seguintes partes:
    <Code>0#</Code>
    
  3. Clique em OK.
  4. Clique em Enviar Mensagem.

    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>
    

Executando a amostra com um campo numérico que contém dados não numéricos

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:

  1. Clique com o botão direito do mouse em Chamar Fluxo de Mensagens na área de janela Eventos de Teste do Fluxo de Mensagens e clique em Chamar.
  2. No campo Corpo, selecione Importar a partir de Arquivo Externo, clique em Área de Trabalho e navegue para o arquivo StringInNumeric.xml a partir do diretório XMLNSCVALIDATIONMF na sua área de trabalho. A mensagem contém as seguintes partes:
    <Balance>$00.50</Balance>
    
  3. Clique em OK.
  4. Clique em Enviar Mensagem.

    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>
    

Execute a amostra com um campo que seja muito extenso:

Para executar a amostra de Validação XMLNSC, em que a mensagem de entrada falha na validação porque o campo é longo demais:

  1. Clique com o botão direito do mouse em Chamar Fluxo de Mensagens na área de janela Eventos de Teste do Fluxo de Mensagens e clique em Chamar.
  2. No campo Corpo, selecione Importar a partir de Arquivo Externo, clique em Área de Trabalho e navegue para o arquivo StringTooLong.xml a partir do diretório XMLNSCVALIDATIONMF na sua área de trabalho. A mensagem contém as seguintes partes:
    <Surname>Braithwaaaaaaaaaaaite</Surname>
    
  3. Clique em OK.
  4. Clique em Enviar Mensagem.

    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>
    

Execute a amostra com o valor de um elemento que não esteja na lista de valores permitidos:

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:

  1. Clique com o botão direito do mouse em Chamar Fluxo de Mensagens na área de janela Eventos de Teste do Fluxo de Mensagens e clique em Chamar.
  2. No campo Corpo, selecione Importar a partir de Arquivo Externo, clique em Área de Trabalho e navegue para o arquivo ValueNotInList.xml a partir do diretório XMLNSCVALIDATIONMF na sua área de trabalho. A mensagem contém as seguintes partes:
    <Currency>FRF</Currency>
    
  3. Clique em OK.
  4. Clique em Enviar Mensagem.

    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>
    

Execute a amostra com uma mensagem de entrada com um espaço de nomes errado:

Para executar a amostra Validação XMLNSC, em que a mensagem de entrada falha na validação porque tem espaços de nomes errados:

  1. Clique com o botão direito do mouse em Chamar Fluxo de Mensagens na área de janela Eventos de Teste do Fluxo de Mensagens e clique em Chamar.
  2. No campo Corpo, selecione Importar a partir de Arquivo Externo, clique em Área de Trabalho e navegue para o arquivo NamespacedMessage.xml a partir do diretório XMLNSCVALIDATIONMF na sua área de trabalho. A mensagem contém as seguintes partes:
    <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">
    
  3. Clique em OK.
  4. Clique em Enviar Mensagem.

    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.

Voltar para Home da Amostra