Versões comparadas

Chave

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

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?

WebServices são usados para disponibilizar serviços interativos na WEB, podendo ser acessados por outras aplicações. O SOAP (Simple Object Access Protocol) está se tornando padrão para a troca de mensagens entre aplicações e Web Services, já que é uma tecnologia construída com base em XML e HTTP. Como o RM possui seus web services podemos utilizar o TestFlow para testá-los.

Para que serve?

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

Links Úteis

  1. Documentação e Download Soap Ui: https://www.soapui.org/docs/
  2. O que são WebServices: https://pt.wikipedia.org/wiki/Web_service

Exemplo de Uso 

Deck of Cards
id
Deck of Cards
idComo cadastrar
Card
Exemplo de uso
labelComo cadastrar
Expandir
title1.
Navegue no
Navegação para o cadastro.
  1. Navegue no menu do TestFlow e clique em: Atividades  ServiçosSoap.

Image Removed

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

Image Removed

3. Preencha os campos:

Image Added

Expandir
title2. Link para Definir cabeçalho (Nome e nível de exibiçãoacesso)

Clique aqui para obter as informações do cabeçalhoa. 

b. 

c. 

d.

Expandir
titlePermissões de Gupos
3. Preenchimento dos Campos
Expandir
title
Diretório
Expandir
titlePropriedades customizáveis
Card
labelLink para Definir cabeçalho (Nome e nível de acesso)
Card
labelExemplo de Variáveis
Card
labelExemplo prático
Expandir
titleCriando 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.Image Removed
  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.

Image Removed

    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 (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.Image Removed
    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).Image Removed
    5. Após confirmar se tudo correr bem serão apresentados na tela os métodos existentes no WebService dos DataServers do RM .Image Removed
    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.Image Removed
    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).Image RemovedImage Removed
    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. Image Removed
    9. Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro.Image Removed
    10. 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.Image Removed
    11. Na tela que será apresentada preencha a tag DataServerName com o mesmo dataserver que utilizou no Read Record.
    12. 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.Image Removed
    13. 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.Image RemovedImage Removed
      Neste caso teremos como contexto o CODSISTEM=T; CODUSUARIO=mestre. Preencha o restante do envelope.
    14. 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.                                                                                 
      1.     Image RemovedImage Removed
  1. Criando a Atividade de Soap no TestFlow
    1. Acesse : Atividades → Serviços → Soap e crie um novo registro.
    2. Preencha um nome que descreva sua Atividade e preencha o grupo e as permissões de acesso.
    3. 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.
    4. 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.Image Removed
    5. 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.Image Removed
    6. 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.
    7. 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.
    8. Na aba AÇÕES, você pode testar sua requisição ou deletar se for necessário.Image Removed
    9. Salve sua Atividade e ela está pronta para para ser executada ou inserida em um Projeto, Agendamento ou Coleção.

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.Image Removed
    1. 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.Image Removed
    2. Edit o registro desejado e na guia Processo anote o valor do campo Classe do Processo, que neste caso é FinAVPData.Image Removed
    3. No botão Anexos, abra o item de menu XML de Parâmetros de Job, copie o XML que vai ser apresentado e reserve.Image Removed
    4. 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.    Image RemovedImage Removed
      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.Image Removed
      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.Image Removed
      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.Image Removed

Saiba mais

...

Versão

Especifica a versão da atividade em questão. O objetivo de versionar uma atividade é para quando necessitamos ter mais de uma atividade em versões diferentes. Isso irá nos auxiliar a ter um histórico de atualizações e assegurar que as mudanças feitas sejam rastreáveis e reversíveis, se necessário.

Informações

Se for necessário utilizar mais de uma versão do RM no seu ambiente, é recomendado que a versão da atividade seja compatível com o sistema RM em uso. Caso contrário, pode-se optar por uma versão padrão de sua preferência.

Section
Column

Exemplo utilizando a versão do RM

Image Added

Column

Exemplo utilizando a versão padrão

Image Added

Expandir
titleDescrição de Atividade

Fornece uma descrição detalhada da atividade, explicando seu propósito e operações, facilitando a compreensão e manutenção futura.

Image Added

Expandir
titleCondição de Erro

Se ocorrer um erro durante a execução de alguma das requisições, o TestFlow deve tomar medidas específicas para lidar com esse erro. As ações variam conforme o tipo e a gravidade do erro.

Logar o Erro: Caso ocorra um erro em alguma das requisições SOAP, o TestFlow deverá registrar todas as informações relevantes sobre o erro no log de execuções.

      • Exemplo: Se uma requisição SOAP falhar com um erro 500, o TestFlow deverá registrar essas informações nos logs para análise posterior. A execução do processo não será finalizada

Gerar Erro de Execução: Caso ocorra um erro em alguma das requisições SOAP, o TestFlow deverá lançar uma exceção que interrompa a execução do processo atual.

      • Exemplo:  Se uma requisição SOAP falhar com um erro 500, o TestFlow deverá registrar essas informações nos logs para análise posterior e a execução do processo será finalizada.  

Gerar Alerta e Continuar: Caso ocorra um erro alguma das requisições SOAP, o TestFlow deverá registrar um alerta e continuar a execução das operações subsequentes. Isso permite que outros processos continuem sendo executados.

      • Exemplo: Se uma requisição SOAP falhar com um erro 500, o TestFlow deverá registrar um alerta sobre a execução da atividade e continuar processando outras operações relacionadas sem interrupção.

Image Added


Expandir
titleOperações
Informações

Neste cadastro, é possível realizar as seguintes operações:

Expandir
titleRecuperar Operações

Image AddedPermite que o TestFlow recupere e liste todas as operações disponíveis no serviço web configurado. Esta funcionalidade é essencial para identificar e selecionar as operações específicas que podem ser executadas pelo serviço web.

Aviso

Atenção: O Agent e o Host do RM devem estar devidamente sendo executados no servidor em questão.

Saiba mais: Agent e Servidor.

Funcionamento:

  • Inicialização: Deve-se informar o servidor e a URI correspondente. O TestFlow enviará uma requisição ao serviço web para listar todas as operações disponíveis.
  • Listagem: As operações recuperadas são exibidas em uma interface onde os usuários podem visualizar e selecionar as operações desejadas.

Image Added

Expandir
titleAlteração em Massa

Image Added Permite a atualização ou modificação de múltiplos campos de múltiplas requisições em uma única operação. Este recurso é utilizado para aplicar mudanças consistentes em vários elementos ao mesmo tempo, economizando tempo e reduzindo o risco de erros manuais.

Funcionamento:

  • Configuração: O usuário define os parâmetros e os registros que serão alterados em massa. É possível realizar a alteração dos seguintes campos:
    • Uri da Coleção;
    • Soap Endpoint;
    • Timeout XML;
    • Usuário;
    • Senha;
    • Domínio;

Image Added

Expandir
titleExecutar Todas

Image Added Permite executar todas as requisições definidas em uma sequência ou lote. Esta funcionalidade é útil para automatizar a execução de múltiplas operações de forma ordenada e eficiente. Para isso, escolha o servidor em que deve ser executado às requisições.

Aviso

Atenção: O Agent e o Host do RM devem estar devidamente sendo executados no servidor em questão.

Saiba mais: Agent e Servidor.


Funcionamento:

  • Definição: O usuário configura uma série de requisições que devem ser executadas em sequência.
  • Execução: O TestFlow processa cada requisição na ordem definida, garantindo que todas as operações sejam executadas conforme especificado.
  • Log: Será logado o resultado de cada requisição executada, assim como o seu status code.
    • Verde: A requisição foi executada com sucesso.
    • Vermelho: Houve um erro para processar a requisição.

Image Added

Expandir
titleRequisições

Image Added

Expandir
titleInfo

URI (WSDL): É o endereço onde está localizado o arquivo WSDL que descreve o WebService. Este arquivo define os métodos disponíveis, os tipos de dados, e as operações que podem ser executadas pelo WebService.

SOAP Endpoint: O SOAP Endpoint é o endereço onde o serviço SOAP está disponível para receber as requisições. Este é o URL que os clientes utilizam para enviar as mensagens SOAP ao servidor

Timeout (Segundos) O Timeout define o tempo máximo (em segundos) que o TestFlow deve esperar por uma resposta do WebService antes de considerar a requisição como falhada. Este campo é importante para garantir que a aplicação não fique indefinidamente esperando por uma resposta.

Descrição: Campo que permite adicionar uma descrição detalhada sobre a requisição SOAP. Pode incluir informações sobre o propósito da requisição, detalhes dos parâmetros e qualquer outra informação relevante

Status de Retorno HTTP Esperados: Lista dos códigos de status HTTP que são esperados como resposta válida do WebService em questão. Isso ajuda a identificar se a requisição foi bem-sucedida ou se encontrou algum tipo de erro.

Expandir
titleMensagem

A Mensagem é a estrutura principal de uma requisição SOAP, onde são definidos os dados a serem enviados e recebidos pelo serviço web.

Nesta aba são compostos pelos seguintes campos: 

SOAP Action: É um cabeçalho HTTP específico usado em requisições SOAP para indicar a operação ou método específico que deve ser executado pelo serviço web. Ele é essencial para o roteamento correto e processamento da solicitação pelo servidor. Sendo assim ele informa ao servidor SOAP qual operação deve ser executada, sendo útil em serviços web que expõem múltiplas operações. 

Exemplo de Soap Action:Image Added

Envelope: O envelope SOAP é o elemento raiz que define o início e o fim da mensagem SOAP.

Exemplo de Envelope:

Image Added


Expandir
titleAutenticação

A seção Autenticação é crucial para garantir a segurança das requisições SOAP. Nesta seção, são especificadas as credenciais necessárias (Login, senha e domínio) para acessar o serviço web.

Exemplo: 

Image Added

Expandir
titleAções

É o processo de enviar uma mensagem SOAP a um serviço web para solicitar a execução de uma operação específica. Este processo envolve a criação e configuração de uma mensagem SOAP, incluindo a definição do envelope SOAP e a especificação do cabeçalho SOAP Action.

a. Sendo assim clique no botão em destaque para Executar a Requisição e coloque o servidor de uso.

Aviso

Atenção: O Agent e o Host do RM devem estar devidamente sendo executados no servidor em questão.

Saiba mais: Agent e Servidor.

Image Added

b. E para remover a requisição clique no botão em destaque Deletar requisição.

Image Added


Card
labelVariáveis de ambiente

As variáveis dos ambientes no SOAP são utilizadas para ajustar as configurações das requisições SOAP conforme os diferentes ambientes de execução (desenvolvimento, teste, produção), facilitando a adaptação e reutilização dos scripts sem a necessidade de alterações manuais no código para cada ambiente.

Clique aqui para obter as informações das Variáveis de ambiente do Soap.

Card
labelExemplo prático
Aviso

Para descobrir as primary keys dos registros e o contexto a ser utilizado, podemos utilizar a seguinte documentação: https://apitotvslegado.z15.web.core.windows.net/

Expandir
title1. Criação de chamadas SOAP para cadastros no RM.

Cadastro: Unidade de medida.

Expandir
titleColeta de informações
  1. Após estar devidamente configurados conforme os requisitos deste tipo de Atividade carregue o Host do RMcomo Administrador.
  2. Acesse a URL do webservice do Host (http://localhost:8051/wspageindex/).
    1. Se a página abaixo for exibida suas configurações estão corretas.Image Added
  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.
      1. 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.Image Added
Expandir
titleUtilização do SoapUI

Resgate do XML:

  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

Após instalar, abra o aplicativo e no menu File escolha New Soap Project.Image Added

4. Escolha um nome como, por exemplo Cadastros do RM, e na Inicial WSDL cole a seguinte URL: http://localhost:8051/wsDataServer/MEX?wsdl.

Informações

Lembre-se que neste momento o host deve estar em execução na máquina (localhost).


Image Added

5. Após confirmar se tudo correr bem serão apresentados na tela os métodos existentes no WebService dos DataServers do RM .Image Added

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.

    1. 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.Image Added
    2. No XML apresentado, preencha a tag DataServerName com o nome obtido no item 3.b, exatamente como exibido na tela, em camel case.
    3. Para buscar a Primary Key do registro, entre no seguinte link: https://apitotvslegado.z15.web.core.windows.net/ e procure pelo Data Server resgatado anteriormenteImage Added
    4. Logo em seguida, clique em EstUndData. Pode-se verificar que logo no cabeçalho da página contém as informações da Primary Key desse cadastro, no caso será CODUND.Image Added
    5. Na tag PrimaryKey, insira apenas o Código da Unidade para o cadastro de Unidades de Medida. Vamos utilizar "M" (Metros).
      Image AddedImage Added

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.

Image Added

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

      Inclusão do Novo 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.Image Added
    3. Na tela apresentada, preencha a tag DataServerName com o mesmo dataserver utilizado no Read Record.
    4. Na tag XML, informe o conteúdo retornado do Read Record, copiando da expressão <![CDATA[ até ]]>.
    5. Em seguida, altere os dados antigos para os novos. Sua requisição deve ficar conforme a figura a seguir:Image Added

8. Para a Tag Contexto, podemos resgatar essa informação também através do seguinte link e filtrando pelo DataServer correspondente: https://apitotvslegado.z15.web.core.windows.net/

Ao procurar por SaveRecord, pode-se observar a seguinte informação que mostra o contexto do registro:

Image Added

Image Added

As informações de CODSISTEMA, CODUSUARIO e CODCOLIGADA 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 (TUND) e 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.Image AddedPara recuperar o CODUSUARIO e o CODCOLIGADA, você deve ir na aba Sistema do RM, localizada no canto inferior esquerdo da tela.

Image Added

Informações

Defina o contexto com CODSISTEM=T;CODUSUARIO=mestre;CODCOLIGADA=1. Complete o envelope necessário.


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

Image Added


Expandir
titleConfiguração no TestFlow
  1. 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: http://localhost:8051/wsDataServer/MEX?wsdl.
  2. Clique em RECUPERAR para que os métodos do WebService sejam apresentados.Image Added
  3. Clique em RM_IwsDataServer para expandir os métodos.
  4. Selecione o método SaveRecord e clique no sinal de "(mais)".

Image Added

  1. No lado direito da tela, expanda a requisição criada.
  2. Dos campos já preenchidos, o único que precisa ser editado é o Soap Endpoint.
  3. Altere a URL, substituindo o nome da máquina que aparece por LOCALHOST. Dessa forma, sua requisição será executada em qualquer máquina, e não apenas na especificada.
  4. Informe a descrição da sua requisição, o que é útil caso sejam criadas várias requisições na mesma atividade.
  5. Escolha o código de retorno adequado. Para operações de inserção, geralmente o código retornado é 201 (Created), mas isso pode variar dependendo de quem codificou a chamada. No SoapUI, você pode verificar o código correto ao executar a chamada. No caso da unidade de medida, o retorno de sucesso é 200 (OK).
    Image Added
    1. 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.
    2. Na aba AUTENTICAÇÃO, insira o usuário e a senha utilizados para executar a chamada. Utilize as mesmas credenciais que você usa para acessar o RM. O campo de domínio não é obrigatório.
    3. Na aba AÇÕES, você pode testar sua requisição ou deletar se for necessário.Image Added

    4. Salve sua Atividade e ela está pronta para para ser executada ou inserida em um Projeto, Agendamento ou Coleção.
Expandir
title2. Criação de chamadas SOAP para processos do RM.

Processo: Ajuste a Valor Presente 

Expandir
titleColeta de Informações


    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.Image Added
  1. Após finalizar o processo com sucesso, acesse a aba Ambiente e, em seguida, o item Gerenciamento de Jobs. Crie um filtro para exibir apenas os jobs processados hoje, facilitando a localização do registro desejado..Image Added
  2. Edit o registro desejado e na guia Processo anote o valor do campo Classe do Processo, que neste caso é FinAVPData.Image Added
  3. No botão Anexos, abra o item de menu XML de Parâmetros de Job, copie o XML que vai ser apresentado e reserve.Image Added
Expandir
titleUtilização do SoapUI
  1. 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.

Image Added

h. Na janela a direita deve ser retornado o valor 1 se houve sucesso. 

                                                                                                  Image Added

7. Após conseguir êxito na chamada você já tem tudo que necessita para criar sua atividade.

Expandir
titleConfiguração no TestFlow
    1. Acesse o TestFlow em Atvidades → Serviços → Soap e clique no sinal de  (mais) para incluir um novo registro.
    2. Preencha um nome que descreva sua Atividade e preencha o grupo e as permissões de acesso.
    3. 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.

8. 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 OPERAÇÔES para que os métodos do WebService sejam apresentados.Image Added9. Clique em RM_IwsProcess para expandir os métodos.

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

Image Added

    1. Dos campos que já são apresentados preenchidos o único a ser editado é o Soap Endpoint.
    2. 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.
    3. Informe a descrição de sua requisição. Isto é útil caso sejam criadas mais de uma requisição na mesma Atividade.
    4. 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.Image Added
    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.Image Added

...

Saiba mais

Dica
As mensagens SOAP são baseadas em XML e possuem uma estrutura rígida que inclui um envelope, cabeçalhos opcionais e um corpo. Esta estrutura permite uma comunicação padronizada e extensível.
Dica

Pelo TestFlow, é possível testar sua requisição SOAP antes de ser incluída em um projeto de teste.

Dica

É possível definir variáveis de ambiente para execução das atividades SOAP.

FAQ

Informações

P: O que é preciso para configurar meu ambiente para testar WebServices?

R: O Agent deve estar em execução como administrador, o Host do RM deve estar em execução e seu arquivo de configuração deve conter às keys necessárias para o seu uso.

P: Qual é o papel do SoapUI neste processo?

R: O SoapUI é utilizado para criar e testar requisições SOAP, ajudando a identificar métodos e a estruturar o XML necessário para incluir registros no sistema RM.

P: A minha atividade apresentou o seguinte erro: Erro na chamada do método ExecuteWithXmlParams. The remote server returned an error: (401) Unauthorized. O que fazer?

R: Usuário utilizado para login inválido ou vencido. 

P: A minha atividade apresentou o seguinte erro: There is an error in XML document (0, 0). O que fazer?

R: A chamada webservice aponta para uma máquina específica. Para isso, edite o campo Soap Endpoint e aponte a chamada para LOCALHOST

...

FAQ

Informações

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.