Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Para criação do objeto BusinessMessage para envio ao EAI através do método dispatchMessage, deve ser utilizada a classe da mensagem de negócio. Exemplo:

Bloco de código
themeEmacs
languageactionscript3
linenumberstrue
DEFINE VARIABLE oBusinessMessage AS BusinessMessage 	NO-UNDO.
DEFINE VARIABLE oBusinessContent AS BusinessContentType NO-UNDO.
DEFINE VARIABLE oHelper 		 AS UnitOfMeasure 		NO-UNDO.

/* Cria o conteúdo da mensagem */
oHelper = NEW UnitOfMeasure().
oBusinessContent = CAST(Helper:createBusinessContent(), "com.totvs.datasul.eai2.unitofmeasure_11_1_0.BusinessContentType").

oBusinessContent:CODE = "DZ".
oBusinessContent:DESCRIPTION = "Duzia".

/* Cria a mensagem de negócio */
oBusinessMessage = BusinessMessage:createBusinessMessage(oBusinessContent).

/* Insere informações sobre key-fields */
oBusinessMessage:Keys:addProperty("code", "DZ").

/* Define qual foi o evento que ocorreu */
oBusinessMessage:EVENT = "upsert".

/* Define o modelo de mensagem: Síncrono (sync) ou Assíncrono (async) */
oBusinessMessage:DeliveryType = “sync”.
Informações
Image Removed

 

Depois de preenchido os atributos de negócio da mensagem, o objeto deve ser enviado ao EAI para integração:

Bloco de código
themeEmacs
languageactionscript3
linenumberstrue
/* Envia a mensagem para o Engine do EAI */
DO ON ERROR UNDO:
	DEFINE VARIABLE oResponse AS ResponseMessage NO-UNDO.

	oResponse = EAIEngine:Instance:dispatchMessage(oBusinessMessage).

	CATCH eaiError AS EAIException:
		MESSAGE "Erro ao realizar integração: " eaiError:getMessage(1).
		RETURN.
	END.
END.
Informações
Image Removed

 

Nesse momento, deve se atentar ao tipo de integração definido no atributo DeliveryType da mensagem de negócio: síncrono (sync) ou assíncrono (async).

...