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.

    1. O nome de exibição é utilizado para identificar de forma clara e intuitiva o serviço SOAP. Este nome deve ser descritivo o suficiente para que os usuários compreendam rapidamente a finalidade do serviço sem a necessidade de consulta a documentação adicional.
    2. Adicione Um Grupo para permitir que usuários se organizem conforme a necessidade da equipe, facilitando o controle de acesso e a gestão das atividades. (Saiba mais sobre os Grupos)



  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
    1. O primeiro passo é analisar o cadastro que queremos fazer pelo WebService para coletar algumas informações ao seu respeito:
    2. Quais dados serão inseridos.
    3. 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.
    4. 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. 
    5. 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
    6. Após instalar, abra o aplicativo e no menu File escolha New Soap Project.
    7. 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).
    8. Após confirmar se tudo correr bem serão apresentados na tela os métodos existentes no WebService dos DataServers do RM .
    9. 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.
    10. 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).
    11. 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.
    12. Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro
    13. Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro.
    14. 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.
    15. Na tela que será apresentada preencha a tag DataServerName com o mesmo dataserver que utilizou no Read Record.
    16. 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.

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