Criando Schema com Procedure na Receive Port - WCF-SQL
segunda-feira, 18 de março de 2013
|
|
Olá Pessoal, já vi muitos exemplos de como criar schemas pela internet, mas nenhum deles me agradou por ser simples demais, e quando aplicamos a técnica numa situação real, sempre temos problemas.
Hoje vou explicar como criar schemas a partir de uma procedure do SQL Server para ser usado na Receive Location, iniciando a orchestration.
Vamos começar com a criação da procedure:
Notem que eu não coloquei a clausula FOR XML. Com o novo adptador não precisamos mais.
O próximo passo é criar um projeto de Biztalk e clicar com o Botão direito do mouse e em Add –> Add Generated Items –> Consume Adapter Service
Clique no Botão Add. Irá aparecer um wizard Consume Adapter Service.
No combo Select a binding, escolha sqlBinding.
Clique no botão Congifure.
Na aba URI Properties, preencha as propriedades:
Na aba Binding Properties, preecha as propriedades:
Clique no Botão OK.
Retornando para a tela principal, devemos clicar no botão Connect. No combo Select contract type, selecione Service (Inbound operations). E então basta selecionar no painel Available Categories and operations, localizado à direita da tela, a opção TypedPolling e clique em Add.
Clique em OK.
Irá ser gerado um schema com 3 nós: TypedPollingResultSet0, ArrayOfTypedPollingResultSet0 e TypedPolling.
Para usar os dados vindos do SQL Server, crie uma mensagem dentro da orchestration, apontando para o node TypedPolling.
E para criar a Receive Port, basta usar o binding que foi gerado: WcfReceivePort_SqlAdapterBinding_Custom.bindinginfo.xml
Conclusão:
Hoje vimos como puxar schemas do SQL Server através de procedure para ser usado na Receive Location, iniciando o processo.
Até a próxima.
Hoje vou explicar como criar schemas a partir de uma procedure do SQL Server para ser usado na Receive Location, iniciando a orchestration.
Vamos começar com a criação da procedure:
CREATE PROCEDURE [dbo].[spTesteSchema] as BEGIN SELECT * FROM tbTESTE WITH (NOLOCK) WHERE flStatus = 3 END
Notem que eu não coloquei a clausula FOR XML. Com o novo adptador não precisamos mais.
O próximo passo é criar um projeto de Biztalk e clicar com o Botão direito do mouse e em Add –> Add Generated Items –> Consume Adapter Service
Clique no Botão Add. Irá aparecer um wizard Consume Adapter Service.
No combo Select a binding, escolha sqlBinding.
Clique no botão Congifure.
Na aba URI Properties, preencha as propriedades:
- Server – Nome do Servidor onde esta o banco SQL Server.
- InitialCatalog – Nome do Banco de Dados, o qual queremos conectar
- InboundId – Identificador que comporá o TargetNamespace do schema. Obrigatório quando utilizado na Receive Port (como é o nosso caso).
Na aba Binding Properties, preecha as propriedades:
- InboundOperationType – Escolha Typed Polling, para que venha os campos Tipados.
- PolledDataAvailableStatement – Deve retornar um contador indicando que tem dados disponiveis e que o biztalk deve executar o código na propriedade PollingStatement.
- PollingStatement – Comando que retornará os dados a serem integrados.
Clique no Botão OK.
Retornando para a tela principal, devemos clicar no botão Connect. No combo Select contract type, selecione Service (Inbound operations). E então basta selecionar no painel Available Categories and operations, localizado à direita da tela, a opção TypedPolling e clique em Add.
Clique em OK.
Irá ser gerado um schema com 3 nós: TypedPollingResultSet0, ArrayOfTypedPollingResultSet0 e TypedPolling.
Para usar os dados vindos do SQL Server, crie uma mensagem dentro da orchestration, apontando para o node TypedPolling.
E para criar a Receive Port, basta usar o binding que foi gerado: WcfReceivePort_SqlAdapterBinding_Custom.bindinginfo.xml
Conclusão:
Hoje vimos como puxar schemas do SQL Server através de procedure para ser usado na Receive Location, iniciando o processo.
Até a próxima.
Seja o primeiro a comentar ;)
Postar um comentário