Setando Porta Dinamica - EDI

Olá Pessoal.

Hoje vou falar sobre setar porta dinamica para enviar uma mensagem EDI dentro da orchestration. Já postei aqui um pouco sobre o EDI.

Considerem o seguinte cenario:

  1. FABRIKAM envia a mensagem EDIFACT para CONTOSO.
  2. CONTOSO por sua vez recebe essa mensagem e faz algum processamento.
  3. CONTOSO envia mensagem EDIFACT para diretório dinamico, para ser processada por sistema Interno.

Então eu estou usando uma porta dinamica comum dentro da orchestration e que poderia setar dessa forma.


port_Dynamic_EDIFACT(Microsoft.XLANGs.BaseTypes.Address) = @"file://"+strPath+\\%SourceFileName%;

Até aqui nenhuma novidade, o problema é que o sistema Interno só aceita EDIFACT, e dessa forma eu não estou usando os Agreements configurados no Console do Biztalk.

Então a mensagem não setava corretamente o parceiro, sendo gravada no diretório dinamico dessa maneira:
image

Notem o BTS-SENDER e o RECEIVE-PARTNER.

Isso quer dizer que o Biztalk não identificou o parceiro daquela mensagem, e jogou o parceiro padrão do sistema.

Para evitar isso devemos setar também o parceiro na mensagem. Segue:

   1:  msgOUT = msgIN;
   2:   
   3:  Port_2(Microsoft.XLANGs.BaseTypes.Address) = @"file://C:\\Ruth\\%SourceFileName%";
   4:   
   5:  msgOUT(EDI.DestinationPartySenderIdentifier) = "7654321";
   6:  msgOUT(EDI.DestinationPartySenderQualifier) = "";
   7:  msgOUT(EDI.DestinationPartyReceiverIdentifier) = "1234567";
   8:  msgOUT(EDI.DestinationPartyReceiverQualifier) = "";

Essas propriedades EDI para serem acessadas, é preciso adicionar a referencia Microsoft.BizTalk.Edi.BaseArtifacts.dll, ao projeto. Segue o caminho disponivel:

C:\Windows\assembly\GAC_MSIL\Microsoft.BizTalk.Edi.BaseArtifacts\3.0.1.0__31bf3856ad364e35\Microsoft.BizTalk.Edi.BaseArtifacts.dll

Segue a mensagem de saída com o parceiro configurado e garantido que está usando o Agreement.
image

Referencia: http://blogs.msdn.com/b/biztalkb2b/archive/2007/02/12/key-new-feature-in-february-ctp.aspx

É isso, Até a próxima.

E você? Já ajudou a comunidade hoje?

Seja o primeiro a comentar ;)

Postar um comentário

BizTalk 360

Visitas

Arquivo do blog