Criando uma Atividade de Soap

  1. Após estar devidamente configurados conforme os requisitos deste tipo de Atividade carregue o Host do RM e o RM.exe como Administrador e faça o login no último.
  2. Acesse a URL do webservice do Host (http://localhost:8051/wspageindex/). Se a página abaixo for exibida suas configurações estão corretas.

  1. Vamos usar como exemplo o processo de inclusão de uma Unidade de Medida
    1. O primeiro passo é analisar o cadastro que queremos fazer pelo WebService para coletar algumas informações ao seu respeito:
      1. Quais dados serão inseridos.
      2. Qual é o DataServer do cadastro. Quando se tratar de processos precisamos do DataProcess (veremos isto no próximo exemplo). Para descobrir qual é o DataServer do cadastro, vá na aba de edit ou na aba de cadastro de um registro, clique em qualquer um de seus campos da tabela fornecida e pressione a combinação de teclas: CRTL + ALT+ F9.

    1. Munido do DataServer e já conhecendo o cadastro vamos descobrir qual o método do WebService utilizaremos para incluir um registro neste cadastro. Para isso precisamos de um XML. 
    2. Baixe em seu computador um aplicativo que se chama SoapUI. Nela podemos inserir a url do WebService do host para saber qual método utilizar para incluir nosso registro
    3. Após instalar, abra o aplicativo e no menu File escolha New Soap Project.
    4. Escolha um nome como por exemplo Cadastros do RM e na Initial WSDL cole a seguinte url: http://localhost:8051/wsDataServer/MEX?wsdl. Lembre-se que neste momento o host deve estar em execução na máquina (localhost).
    5. Após confirmar se tudo correr bem serão apresentados na tela os métodos existentes no WebService dos DataServers do RM .
    6. Como não conhecemos o XML para inclusão de registros, vamos buscar um que já existe na tabela para que sejam retornados seus dados e seu XML. Desta forma podemos somente substituir os dados do registro que carregamos pelos dados que queremos incluir. Para carregar registros pelo WebService utilizamos o método ReadRecord. Clicando com o botão direito sobre o método escolhemos a opção New Request, dê um nome para ela e clique no botão OK.
    7. No XML apresentado preencha a tag DataServerName com o nome conseguido no item 2.a.ii. Digite da mesma maneira que apareceu na tela com "camel case". Preencha a tag Primary Key que, no caso do cadastro de Unidades de Medida, é somente o Código da Unidade. Vamos utilizar M (Metros).
    8. Preencha a autenticação com usuário que utiliza para acessar o RM. Para isso, vá em Auth →  Add New Authorization → Basic. Não se esqueça de marcar a opção Authenticate pre-emptively. Feche a tela de autenticação e clique no botão Play. 
    9. Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro.
    10. Para a inclusão
      1. No SoapUi escolha o método SaveRecord, clique com o botão esquerdo e escolha New Request. Dê um nome para a requisição e clique em OK.
      2. Na tela que será apresentada preencha a tag DataServerName com o mesmo dataserver que utilizou no Read Record.
      3. Na tag XML informe o conteúdo que foi retornado do Read Record copiando da expressão"<![CDATA[ até ]]>. Após isso altere os dados antigos para os dados do novo registro. Sua requisição deve ficar como na figura a seguir.
      4. Para a tag Contexto as informações de CODSISTEMA e CODUSUARIO são obrigatórias. O CODSISTEMA você pode conseguir editando um registro do cadastro, clicando com o botão direito do mouse sobre a tela e selecionando a opção "Visualizar nome dos campos". Ao passar o mouse sobre qualquer campo será mostrada uma expressão com duas palavras. A primeira é o nome da TABELA (TUNIDADE) a segunda o nome do campo. A primeira letra da tabela é o CODSISTEMA, no caso T. O restante da  informação você consegue acessando o RM e clicando no botão SISTEMA no canto inferior esquerdo da tela.
        Neste caso teremos como contexto o CODSISTEM=T; CODUSUARIO=mestre. Preencha o restante do envelope.
      5. Se desejar preencha a autenticação e teste a requisição. Mas da maneira que está já pode ser transferida para a Atividade de Soap no TestFlow. Se houver sucesso na inclusão será retornado o ID o registro incluído.                                                                                 
      6.    
  1. Criando a Atividade de Soap no TestFlow
    1. Acesse : Atividades → Serviços → Soap e crie um novo registro.
      1. Preencha um nome que descreva sua Atividade e preencha o grupo e as permissões de acesso.
      2. Informe a versão desejada e uma descrição detalhada pela qual qualquer um que editar a Atividade consiga entender seu propósito. Informe também qual será o comportamento no caso de ocorrer erro de execução.
      3. Clique no botão RECUPERAR OPERAÇÕES, informe o servidor no qual o Agent do TestFlow está sendo executado. Clique aqui para mais informações sobre o agent. Informe a URL do WebService o Host do RM. http://localhost:8051/wsDataServer/MEX?wsdl. Clique em RECUPERAR para que os métodos do WebService sejam apresentados.
      4. Clique em RM_IwsDataServer para expandir os métodos. Escolha o método SaveRecord e clique no sinal de +. Do lado direito da tela expanda a requisição criada no lado esquerdo da tela. Dos campos que já são apresentados preenchidos o único a ser editado é o Soap Endpoint. Altere a URL, substituindo o nome de máquina que aparecer por LOCALHOST. Desta forma sua requisição irá executar em qualquer máquina e não somente na que foi apresentada. Informe a descrição de sua requisição. Isto é útil caso sejam criadas mais de uma requisição na mesma Atividade. Escolha o código de retorno. Para operações de inserção, geralmente o código retornado é 201 (Created), porém isto depende muito de quem codificou a chamada. Pelo SoapUi dá para saber qual é ao executar a chamada. No caso da unidade de medida o retorno de sucesso é 200.
      5. Na aba MENSAGEM cole o envelope de requisição que foi criado no SoapUI. Copie todo o XML e cole na área de edição.
      6. Na aba AUTENTICAÇÃO, informe o usuário e senha para execução da chamada. É o mesmo usuário que você utiliza para acessar o RM. O campo domínio não é obrigatório.
      7. Na aba AÇÕES, você pode testar sua requisição ou deletar se for necessário.
      8. Salve sua Atividade e ela está pronta para para ser executada ou inserida em um Projeto, Agendamento ou Coleção.
  2. Para criar chamadas SOAP para processos do RM.
    1. Acesse o RM e execute o processo desejado manualmente. Vamos escolher um processo simples para sermos mais didáticos: Ajuste a Valor Presente
    2. Acesse a guia Gestão Financeira e na aba Contas a Pagar/Receber, escolha a opção Ajuste a Valor Presente e informe o dados solicitados e clique no botão executar e aguarde o processo ser executado.
    3. Após finalizar o processo com sucesso acesse a aba Ambiente e em seguida o item Gerenciamento de Jobs. Crie um filtro para trazer somente os jobs processados hoje para facilitar a localização do registro desejado.
    4. Edit o registro desejado e na guia Processo anote o valor do campo Classe do Processo, que neste caso é FinAVPData.
    5. No botão Anexos, abra o item de menu XML de Parâmetros de Job, copie o XML que vai ser apresentado e reserve.
    6. No SoapUI no menu Project crie um New SOAP Project
      1. Insira um nome: Processos RM
      2. Informa a Initial WSDL http://localhost:8051/wsProcess/MEX?wsdl
      3. No projeto criado navegue até RM_IwsProcess → ExecuteWithXmlParams. Clique com o botão direito sobre e escolha New Request. Dê um nome a ela e clique em OK
      4. Será mostrado um envelope. Na tag ProcessServerName informe a classe de processo copiada no item 5.d FinAVPData.
      5. Na tag strXmlParams informe a seguinte string: <![CDATA[****]]>
      6. Substitua os asteriscos da string acima pelo XML que salvou no item 5.d
      7. Preencha a autorização, navegando no menu. Para isso, vá em Auth →  Add New Authorization → Basic, insira suas credenciais e clique na opção "Authenticate pre-emptively". Por fim, execute a chama para testar.
      8. Na janela a direita deve ser retornado o valor 1 se houve sucesso.                                                                                                                                                                                                                                                         
      9.    
      10. Após conseguir êxito na chamada você já tem tudo que necessita para criar sua atividade.
      11. Acesse o TestFlow → Atvidades → Serviços → Soap e clique no sinal de  (mais) para incluir um novo registro.
      12. Preencha um nome que descreva sua Atividade e preencha o grupo e as permissões de acesso.
      13. Informe a versão desejada e uma descrição detalhada pela qual qualquer um que editar a Atividade consiga entender seu propósito. Informe também qual será o comportamento no caso de ocorrer erro de execução.
      14. Clique no botão RECUPERAR OPERAÇÕES, informe o servidor no qual o Agent do TestFlow está sendo executado. Informe a URL do WebService o Host do RM. http://localhost:8051/wsProcess/MEX?wsdl. Clique em RECUPERAR para que os métodos do WebService sejam apresentados.
      15. Clique em RM_IwsProcess para expandir os métodos. Escolha o método ExecuteWithXmlParams e clique no sinal de (mais) e uma requisição será criada do lado direito da tela. Após isso, expanda-a.
      16. Dos campos que já são apresentados preenchidos o único a ser editado é o Soap Endpoint. Altere a URL, substituindo o nome de máquina que aparecer por LOCALHOST. Desta forma sua requisição irá executar em qualquer máquina e não somente na que foi apresentada. Informe a descrição de sua requisição. Isto é útil caso sejam criadas mais de uma requisição na mesma Atividade. Escolha o código de retorno. Para operações de inserção geralmente o código retornado é 201 (Created), porém isto depende muito de quem codificou a chamada. Pelo SoapUi dá para saber. qual é ao executar a chamada. No caso do nosso exemplo é 200.
      17. Na aba MENSAGEM cole o envelope de requisição que foi criado no SoapUI. Copie todo o XML e cole na área de edição.
      18. Na aba AUTENTICAÇÃO, informe o usuário e senha para execução da chamada. É o mesmo usuário que você utiliza para acessar o RM. O campo domínio não é obrigatório.
      19. Na aba AÇÕES, você pode testar sua requisição ou deletar se for necessário.
  • Sem rótulos