Criar um subprocesso chamado por WebServices

<< Click to Display Table of Contents >>

Navigation:  Guia para Administradores > Configurando Processos > Tutoriais > Tutorial 14: Integração de Instalações Supravizio via WebService >

Criar um subprocesso chamado por WebServices

Previous pageReturn to chapter overviewNext page

Agora é necessário configurar o SV2, no editor de processos do outro servidor vamos criar um Subprocesso de Tratamento de Falha no novo processo "Falhas":

 

Tutorial16_009

Fluxo do Tratamento de Falha

 

Crie um novo processo com o nome "Falhas" (caso não saiba leia o tutorial 1, criando processos), crie um Subprocesso "Tratamento de Falhas" (caso não saiba leia o tutorial 1, criando subprocessos)

No iniciador por mensagem é utilizado um campo customizado, vamos inserir este campo. Em propriedades do iniciador, edite os campos para preenchimento. Adicione o campo de descrição detalhada e mais um campo customizado (no customizado clique em novo):

 

Tutorial16_010

Campos necessários

 

Então preencha os seguintes campos:

 

Tutorial16_011

Novo Campo

 

Configure para utilização do novo campo:

 

Tutorial16_012

Configuração Campos

 

Agora vamos verificar as propriedades do iniciador por mensagem, configure o Nome da Mensagem como "INICIAOSX2" e o Script Evento:

 

OrdemServico.SetCustom("OS_SIS_CHAMADOR",Parametros["NUMERO"])

OrdemServico.DescricaoDetalhada = Parametros["Descricao"]

Script Evento

 

Tutorial16_013

Propriedades

 

Também é importante definirmos um Serviço inicial para o iniciador. Neste caso, selecionamos "Chave de rede":

 

Tutorial12_TipoEvento20

 

Propriedade Serviço inicial

 

 

Vamos configurar também o Script Fim da Tarefa "Correção da falha com apresentação de solução":

 

Tutorial16_014

Tarefa

 

 

#verificar se existe endereço de webservice cadastrado no serviço

if not String.IsNullOrEmpty(OrdemServico.GetCustom("OS_SIS_CHAMADOR")):

         #definir os campos de usuário, senha, instancia para efetuar logon no serviço

         usuario = "admin"

         senha = "x"

         instancia = 1

         #definir nome da mensagem para identificação na OS

         nome = "CONTINUAOSX1"

         #definir url para comunicação com webservice que iniciou esta ocorrência

         url = http://[ip_ou_nome_do_servidor_CHAMADOR]/supravizioweb/servicebus/processo/processo.asmx/

         #definir parâmetros xml que serão enviados

         xmlparam = "<MENSAGEM><PARAMETROS> <PARAMETRO><NOME>Solucao</NOME><VALOR>"+

OrdemServico.Solucao +"</VALOR></PARAMETRO><PARAMETRO><NOME>OrdemServico</NOME><VALOR>"+ OrdemServico.GetCustom("OS_SIS_CHAMADOR")+"</VALOR></PARAMETRO></PARAMETROS></MENSAGEM>"

 

         #estabelecer conexão com o webservice e enviar as informações definidas

ws = Utils.LoadWebService(url)

ws.ProcessaMensagem(instancia,usuario,senha,nome, xmlparam)

Script Fim

 

Repare que o Parâmetro "OrdemServico" não foi recuperado em nenhum script do chamador, ele só foi enviado, isto ocorre porque o sistema utiliza este parâmetro para associar a resposta com cada Ordem de Serviço e caso este campo seja nulo todas Ordens de Serviço que contenham o nome de mensagem "CONTINUAOSX1" serão associadas.

Salve e ative a versão e pronto, agora os servidores se comunicam entre si.