O que é?

A atividade de SOAP no TestFlow é uma ferramenta que permite testar e automatizar chamadas a WebServices SOAP, facilitando a integração e validação de processos.

Para que serve?

Serve para automatizar o teste e a execução de WebServices SOAP, incluindo registros, processos e outros serviços oferecidos pelo sistema RM.


1.Navegue no menu do TestFlow e clique em Atividades  ServiçosSoap.

2. Na tabela que será mostrada, clique no botão verde em destaque para Criar Atividade de Soap.

Clique aqui para ter as informações do cabeçalho


  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.
  3. Vamos usar como exemplo o processo de inclusão de uma Unidade de Medida. O primeiro passo é analisar o cadastro que queremos fazer pelo WebService para coletar algumas informações relevantes:
    1. Quais dados serão inseridos.
    2. Qual é o DataServer do cadastro. Para processos, precisamos do DataProcess. Para descobrir qual é o DataServer do cadastro, vá até a aba de edição ou cadastro de um registro, clique em qualquer campo da tabela fornecida e pressione a combinação de teclas: CTRL + ALT + F9.

4. Escolha um nome como por exemplo Cadastros do RM e na Inicial 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.

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

7. Preencha a autenticação com o usuário utilizado para acessar o RM. Para isso, siga os passos abaixo:

    1. Vá em Auth → Add New Authorization → Basic.
    2. Marque a opção Authenticate pre-emptively.
    3. Feche a tela de autenticação.
    4. Clique no botão Play.

8. Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro

    1. Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro.
    2. Para a inclusão 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.
    3. Na tela que será apresentada preencha a tag DataServerName com o mesmo dataserver que utilizou no Read Record.
    4. 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.
  1. 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.

Defina o contexto com CODSISTEM=T e CODUSUARIO=mestre. Complete o envelope necessário.

Preencha a autenticação e teste a requisição se desejar. Assim, a solicitação pode ser transferida para a Atividade de Soap no TestFlow. Se a inclusão for bem-sucedida, o ID do registro será retornado.


  1. De posse do DataServer e das informações do cadastro, vamos identificar o método do WebService que utilizaremos para incluir um registro. Para isso, precisamos de um XML.
  2. Baixe em seu computador um aplicativo que se chama SoapUI (Baixe aqui) . 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.
    1. Escolha um nome como por exemplo Cadastros do RM e na Inicial 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).
    2. Após confirmar se tudo correr bem serão apresentados na tela os métodos existentes no WebService dos DataServers do RM .
    3. 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.
    4. 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).
    5. Preencha a autenticação com o usuário utilizado para acessar o RM. Para isso, siga os passos abaixo:

      • Vá em Auth → Add New Authorization → Basic.
      • Marque a opção Authenticate pre-emptively.
      • Feche a tela de autenticação.
      • Clique no botão Play.
    6. Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro.
    7. Para a inclusão 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.
    8. Na tela que será apresentada preencha a tag DataServerName com o mesmo dataserver que utilizou no Read Record.
    9. 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.
    10. 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.
    1. nforme 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.
      1. 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.
      2. 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.
      3. 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.
      4. Na aba AÇÕES, você pode testar sua requisição ou deletar se for necessário.
      5. Salve sua Atividade e ela está pronta para para ser executada ou inserida em um Projeto, Agendamento ou Coleção.
  1. 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.

Saiba mais




FAQ

P: Quais são os códigos de retorno comuns e o que eles significam?

R: 201 (Created): Inserção bem-sucedida. 200 (OK): Sucesso na execução da requisição.

P: ?

R: Deve ser incluído um Ambiente para cada versão do RM que você deseja testar.

P: ?
R: Sim, você pode se utilizar das propriedades customizáveis para montar, por exemplo, caminhos de diretórios dinamicamente.