Criando e Testando Schemas BizTalk Editor
Autor: Ruth Resende | Publicado: 2014-09-18T10:59:00-03:00


No BizTalk podemos criar schemas de várias maneiras, nesse artigo vou demonstrar como criar um schema a partir de um XML bem formado e utilizando o BizTalk Schema Editor.


Criando Schema a Partir de uma Instancia XML

Vamos considerar a seguinte Instancia de XML
<!-- code formatted by http://manoli.net/csharpformat/ -->  

   1:  &lt;ns0:Root xmlns:ns0="http://CriandoSchemas.schInstanciaXML"&gt;
   2:    &lt;ns0:Funcionarios&gt;
   3:      &lt;ns0:Codigo&gt;1&lt;/ns0:Codigo&gt;
   4:      &lt;ns0:Nome&gt;Ruth Resende&lt;/ns0:Nome&gt;
   5:      &lt;ns0:Cargo&gt;Analista de Sistemas&lt;/ns0:Cargo&gt;
   6:    &lt;/ns0:Funcionarios&gt;
   7:  &lt;/ns0:Root&gt;


1 - Salve esse arquivo em algum diretório.

2 - Crie um projeto de BizTalk 

3 - Clique com o botão direito em cima do Projeto e em Add –&gt; Add Generated Items.

4 - No painel esquerdo clique em Generate Schemas –&gt; Generate Schemas.





5 - Clique em Add.

6 - Em Document type, escolha Well-Formed XML.

7 - Em Input file, procure o arquivo XML.



8 - Clique em OK.

Segue o Schema criado a partir da mensagem.




Criando schema pelo Biztalk Editor

1 - Vamos criar o mesmo schema, mas na munheca usando o BizTalk Schema Editor.

2 - Clique com o botão direito em cima do Projeto e em Add –&gt; New Item.

3 – Escolha a opção Schema e de um nome para o arquivo. Nesse caso nomeei schFuncionario.xsd



4 – Clique em Add.


Como podemos notar o arquivo foi criado, ele tem um Root Node que por padrão é chamado de Root (o que pode ser alterado) e também foi dado um Namespace padrão pra ele ( o que também pode ser alterado).



5 – Clique com o botão direito em cima do Root Node e em Insert Schema Node –&gt; Child Record.




Esse Node, é criado quando queremos agrupar informações (campos), que podem ou não se repetir.



6 – Coloque o nome de Funcionarios.



Cada Node do Schema tem suas próprias propriedades. 



7 – Clique no Node Funcionarios e na Opção Max Occurs, coloque um ‘*’ (asterisco) , ou escreva unbounded.




Isso indica que o Node Funcionarios pode se repetir infinitamente.



8 – Clique com o botão direito no Node Funcionarios e em Insert Schema Node –&gt; Child Field Element



Essa opção Child Field Element criará um elemento abaixo do Node Funcionarios. Para criar um atributo basta escolher Child Field Atributte.



9 – Coloque o Nome do Campo de Codigo.



10 – Repita o passo 8 e 9 para os campos Nome e Cargo.



11 – Salve o Schema.




Gerando uma Intancia XML do Schema

É possível gerar um modelo do Schema e para verificar como deveriamos receber a mensagem do BizTalk.



1 – Clique com o botão direiro em cima do schema schFuncionario.xsd e em Generate Instance.



Isso irá criar uma Instancia do XML daquele Schema.



2 – Para visualizar a Instancia criada, visualize no Painel Inferior do Visual Studio, janela Output, o link com o caminho do XML. Com a tecla CTRL pressionada, clique nesse link.



O Visual Studio mostra o arquivo em um tipo de Pagina Html, a qual não conseguimos fazer qualquer tipo de alteração com o arquivo.




3 – Em cima do text em XML, clique com o botão direito e em View Source. Agora sim o arquivo poderá ser editado.




Testando a Instancia de XML contra o Schema
O BizTalk disponibiliza alguns recursos muito úteis quando queremos testar e ver se uma determinada instancia de XML combina com o schema que temos.

1 – Clique no schema schFuncionario.xsd e configure as seguinte propriedades:

Generate Instance Output Type – XML ou Native. Essa propriedade configura o tipo de saida dessa mensagem, se for Native, a saída será em TXT ou EDI, e XML será em XML mesmo.
Input Instance FileName – Aponte uma instancia do XML que precisa ser testada.
Output Instance FileName – Apontar um caminho de saida da mensagem.
Validate Instance Input Type – XML ou Native. Essa propiedade configura o tipo de Entrada que queremos testar. Native pode ser Txt ou EDI.



2 – Clique com o botão direito no Schema&nbsp; e em Validate Instance.


O BizTalk vai validar a Instancia e o resultado vai aparecer na tela Output do Visual Studio, que normalmente fica no Painel inferior.



Nesse meu caso deu erro porque o Namespace da minha Instancia está errado.

Alterando o Namespace da minha Instancia




Hoje vimos como criar schemas a partir de Instancias de XML, como também Criar Schemas utilizando o Biztalk Schema Editor além de gerar uma Instancia e testar o Schema.

Até a próxima.