Criando Schema com Procedure na Receive Port - WCF-SQL

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:


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

image

Clique no Botão Add. Irá aparecer um wizard Consume Adapter Service.

image


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).
image

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.

image

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.

image

Clique em OK.

Irá ser gerado um schema com 3 nós: TypedPollingResultSet0, ArrayOfTypedPollingResultSet0 e TypedPolling.

image

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

BizTalk 360

Visitas

Arquivo do blog