- Criado por David Lucena Mariz, última alteração por Robson Junior da Silveira em 03 abr, 2025

O que é?
A atividade de SOAP no TOTVS Automação de Testes é uma ferramenta que permite testar e automatizar chamadas a WebServices SOAP, facilitando a integração e validação de processos.
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 TOTVS Automação de Testes para testá-los.
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.
Links Úteis
- Documentação e Download Soap Ui: https://www.soapui.org/docs/
- O que são WebServices: https://pt.wikipedia.org/wiki/Web_service
Exemplo de Uso
- Navegue no menu do TOTVS Automação de Testes e clique em: Atividades → Serviços → Soap.
- Na tabela que será mostrada, clique no botão verde em destaque para criar Atividade de Soap.
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.
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.
Exemplo utilizando a versão do RM
Exemplo utilizando a versão padrão
Fornece uma descrição detalhada da atividade, explicando seu propósito e operações, facilitando a compreensão e manutenção futura.
Se ocorrer um erro durante a execução de alguma das requisições, o TOTVS Automação de Testes 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 TOTVS Automação de Testes 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 TOTVS Automação de Testes 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 TOTVS Automação de Testes 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 TOTVS Automação de Testes 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 TOTVS Automação de Testes 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 TOTVS Automação de Testes deverá registrar um alerta sobre a execução da atividade e continuar processando outras operações relacionadas sem interrupção.
-
Neste cadastro, é possível realizar as seguintes operações:
Permite que o TOTVS Automação de Testes 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.
Funcionamento:
- Inicialização: Deve-se informar o servidor e a URI correspondente. O TOTVS Automação de Testes 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.
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;
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.
Funcionamento:
- Definição: O usuário configura uma série de requisições que devem ser executadas em sequência.
- Execução: O TOTVS Automação de Testes 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.
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 TOTVS Automação de Testes 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.
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:
Envelope: O envelope SOAP é o elemento raiz que define o início e o fim da mensagem SOAP.
Exemplo de Envelope:
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:
É 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.
b. E para remover a requisição clique no botão em destaque Deletar requisição.
As Variáveis de Ambiente são utilizadas para configurar e personalizar o comportamento da Atividade. Elas permitem definir valores específicos ou dinâmicos que podem ser usados durante a execução dos testes, assegurando que o teste execute conforme o ambiente em que o mesmo é executado. As Variáveis de Ambiente são cadastradas no cadastro de Ambiente onde informamos os valores fixos ou de forma dinãmica no cadastro de Script SQL.
Consulte quais campos permitem o uso das Variáveis de Ambiente nessa Atividade:
Saiba mais sobre Ambientes.
Cadastro: Unidade de medida.
- Após estar devidamente configurados conforme os requisitos deste tipo de Atividade carregue o Host do RM como Administrador.
- Acesse a URL do webservice do Host (http://localhost:8051/wspageindex/).
- Se a página abaixo for exibida suas configurações estão corretas.
- Se a página abaixo for exibida suas configurações estão corretas.
- 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:
-
- Quais dados serão inseridos.
- Qual é o DataServer do cadastro.
- 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
.
- 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:
Resgate do XML:
- 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.
- 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.
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.
- No XML apresentado, preencha a tag
DataServerName
com o nome obtido no item 3.b, exatamente como exibido na tela, em camel case. - Para buscar a Primary Key do registro, entre no seguinte link: https://apitotvslegado.z15.web.core.windows.net/ e procure pelo Data Server resgatado anteriormente
- 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.
- Na tag
PrimaryKey
, insira apenas o Código da Unidade para o cadastro de Unidades de Medida. Vamos utilizar "M" (Metros). - Para a Tag Contexto, podemos resgatar essa informação na aba Sistema do RM, localizada no canto inferior esquerdo da tela.
Defina o contexto com CODCOLIGADA=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.
7. 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.
-
- Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro.
Inclusão do Novo Registro:
- 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.
- Na tela apresentada, preencha a tag
DataServerName
com o mesmo dataserver utilizado no Read Record. - Na tag
XML
, informe o conteúdo retornado do Read Record, copiando da expressão<![CDATA[
até]]>
. - Em seguida, altere os dados antigos para os novos. Insira os dados do registro que você quer criar, substituindo os dados do registro que foi lido no Read Record.
- Para a Tag Contexto, sera da mesma forma utilizada no Read Record.
Defina o contexto com CODCOLIGADA=1.
- Será apresentado o XML com o registro desejado. Guarde esse XML que iremos precisar dele para a inclusão do registro.
8. Preencha a autenticação e teste a requisição se desejar. Assim, a solicitação pode ser transferida para a Atividade de Soap no TOTVS Automação de Testes. Se a inclusão for bem-sucedida, o ID do registro será retornado.
- Informe o servidor no qual o Agent do TOTVS Automação de Testes está sendo executado. (Clique aqui para mais informações sobre o Agent). Informe a URL do WebService: http://localhost:8051/wsDataServer/MEX?wsdl.
- Clique em RECUPERAR para que os métodos do WebService sejam apresentados.
- Clique em
RM_IwsDataServer
para expandir os métodos. - Selecione o método
SaveRecord
e clique no sinal de "".
- No lado direito da tela, expanda a requisição criada.
- Dos campos já preenchidos, o único que precisa ser editado é o
Soap Endpoint
. - 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. - Informe a descrição da sua requisição, o que é útil caso sejam criadas várias requisições na mesma atividade.
- 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).
- 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.
- 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.
Na aba AÇÕES, você pode testar sua requisição ou deletar se for necessário.
- Salve sua Atividade e ela está pronta para para ser executada ou inserida em um Projeto, Agendamento ou Coleção.
Processo: Ajuste a Valor Presente
-
- Acesse o RM e execute o processo desejado manualmente. Vamos escolher um processo simples para sermos mais didáticos: Ajuste a Valor Presente
- Observação: Se o processo que você escolheu automatizar for necessário alguma intervenção manual para preenchimento de dados fora do passo a passo (Wizard) não será possível automatizar pelo método RM_IwsProcess.
- 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.
- Acesse o RM e execute o processo desejado manualmente. Vamos escolher um processo simples para sermos mais didáticos: Ajuste a Valor Presente
- 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..
- Edit o registro desejado e na guia Processo anote o valor do campo Classe do Processo, que neste caso é FinAVPData.
- No botão Anexos, abra o item de menu XML de Parâmetros de Job, copie o XML que vai ser apresentado e reserve.
- No SoapUI no menu Project crie um New SOAP Project
- Insira um nome: Processos RM
- Informa a Initial WSDL http://localhost:8051/wsProcess/MEX?wsdl
- 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
- Será mostrado um envelope. Na tag ProcessServerName informe a classe de processo copiada no item 5.d FinAVPData.
- Na tag strXmlParams informe a seguinte string: <![CDATA[****]]>
- Substitua os asteriscos da string acima pelo XML que salvou no item 5.d
- 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.
h. Na janela a direita deve ser retornado o valor 1 se houve sucesso.
7. Após conseguir êxito na chamada você já tem tudo que necessita para criar sua atividade.
-
- Acesse o TOTVS Automação de Testes em Atvidades → Serviços → Soap e clique no sinal de
para incluir um novo registro.
- Preencha um nome que descreva sua Atividade e preencha o grupo e as permissões de acesso.
- 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.
- Acesse o TOTVS Automação de Testes em Atvidades → Serviços → Soap e clique no sinal de
8. Clique no botão RECUPERAR OPERAÇÕES, informe o servidor no qual o Agent do TOTVS Automação de Testes 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.9. Clique em RM_IwsProcess para expandir os métodos.
-
- Escolha o método ExecuteWithXmlParams e clique no sinal de
e uma requisição será criada do lado direito da tela. Após isso, expanda-a.
- Escolha o método ExecuteWithXmlParams e clique no sinal de
-
- 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.
- 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.
- 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.
- Na aba AÇÕES, você pode testar sua requisição ou deletar se for necessário.
Saiba mais
Pelo TOTVS Automação de Testes, é possível testar sua requisição SOAP antes de ser incluída em um projeto de teste.
É possível definir variáveis de ambiente para execução das atividades SOAP.
FAQ
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.
- Sem rótulos