Páginas filhas
  • Capacitação - Postman - Testes Serviços de Integrações - Exemplos

Versões comparadas

Chave

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


TUTORIAL: USING POSTMAN TO TEST XML WEB SERVICES


1 - Após iniciar o postman, click em add request e edite a opção GET para POST.  

Image Added


2 - Defina a URL para requisição, por exemplo nas integrações EAI Mensagem Unica é utilizado a URL http://localhost:81/EAISERVICE.apw.

Alterar a porta conforme configuração realizada na tag [HTTPREST] Port=8996 do appserver.ini

2.1 Definição na aba Header de duas Keys SoapAction e Content-Type.

SOAPAction: "http://www.totvs.com/RECEIVEMESSAGE"
Content-Type: text/xml

Image Added


2 - Definição do XML a ser enviado:

O XML é Definido com:

  • Envelope Soap que é sempre o mesmo na cor Violeta.
  • CData que define o inicio e fim do XML na cor Verde.
  • XML de Mensagem Unica na cor Azul.

XML:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
                   <tot:RECEIVEMESSAGE>
                   <tot:INMSG><![CDATA[<?xml version="1.0" encoding="UTF-8"?><TOTVSMessage><MessageInformation version="1.000"><UUID>2e9320b3-d01e-4e45-9d99-bc052b9ae723</UUID><Type>BusinessMessage</Type><Transaction>WHOIS</Transaction>                       <StandardVersion>1.000</StandardVersion><SourceApplication>RM</SourceApplication><CompanyId>1</CompanyId><BranchId>1</BranchId><Product name="RM" version="12.1.25.0" /><GeneratedOn>2019-08-16T14:35:01</GeneratedOn>                                      <DeliveryType>Sync</DeliveryType></MessageInformation><BusinessMessage><BusinessEvent><Entity>WHOIS</Entity><Event>upsert</Event></BusinessEvent><EnabledTransactions /></BusinessMessage></TOTVSMessage>]]></tot:INMSG>
</tot:RECEIVEMESSAGE>
</soapenv:Body>
</soapenv:Envelope>


Image Added




EXEMPLOS:

  • XML Exemplo de Envio de Projeto ao Protheus
Bloco de código
languagexml
titleEnvio Projeto
collapsetrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<tot:RECEIVEMESSAGE>

...


<tot:INMSG><![CDATA[<TOTVSMessage>

...


<MessageInformation version="2.000">

...


<UUID>0e990017-d32e-439d-baf5-ec8cd4553f7e</UUID>

...


<Type>BusinessMessage</Type>

...


<Transaction>PROJECT</Transaction>

...


<StandardVersion>1.000</StandardVersion>

...


<SourceApplication>RM</SourceApplication>

...


<CompanyId>1</CompanyId>

...


<BranchId>1</BranchId>

...


<Product name="RM" version="12.1.24.0" />

...


<GeneratedOn>2019-08-16T17:37:15</GeneratedOn>

...


<DeliveryType>Sync</DeliveryType>

...


</MessageInformation>

...


<BusinessMessage>

...


<BusinessEvent>

...


<Entity>PROJECT</Entity>

...


<Event>Upsert</Event>

...


</BusinessEvent>

...


<BusinessContent>

...


<CompanyId>1</CompanyId>

...


<BranchId>1</BranchId>

...


<CompanyInternalId>1|1</CompanyInternalId>

...


<ShortCode>69</ShortCode>

...


<Code>160820</Code>

...


<InternalId>311D73CF-3B34-4ED6-A811-E07F7920A431</InternalId>

...


<Description>Teste</Description>

...


<RegisterDate p2:nil="true" xmlns:p2="http://www.w3.org/2001/XMLSchema-instance" />

...


<BeginDate p2:nil="true" xmlns:p2="http://www.w3.org/2001/XMLSchema-instance" />

...


<FinalDate p2:nil="true" xmlns:p2="http://www.w3.org/2001/XMLSchema-instance" />

...


<StatusProject p2:nil="true" xmlns:p2="http://www.w3.org/2001/XMLSchema-instance" />

...


<WorkId p2:nil="true" xmlns:p2="http://www.w3.org/2001/XMLSchema-instance" />

...


</BusinessContent>

...


</BusinessMessage>

...


</TOTVSMessage>]]></tot:INMSG>

...


</tot:RECEIVEMESSAGE>

...


</soapenv:Body>

...


</soapenv:Envelope>
  • Exemplo Requisição JSON: 

http://bh-eng-auttopce.bh01.local:8997/rest/TASKCOSTASSIGNMENTS?page=1&pageSize=2000&sourceApp=RM&companyId=1&branchId=1&initialTaskInternalId=00A635A7-1ADB-47E5-9A17-A4CF14E9E00E&finishTaskInternalId=00A635A7-1ADB-47E5-9A17-A4CF14E9E00E&companyInternalId=1|1&freightValueExcluded=False&insuranceValueExcluded=False&expenseValueExcluded=False&IPIValueExcluded=False&currencyId=R$&datePurchase=00&dateStock=01&datePayment=01

Bloco de código
languagejs
titleResposta
collapsetrue
{
data: {
tasks: [
{
taskCostAssignments: [
{
itemNumber: "0001",
unitPrice: 10,
recno: 670,
itemInternalid: "T1||PRD44",
documentType: "NFE",
deductionValue: 0,
currencyInternalId: "T1|D MG 01|01",
increase: 0,
documentNumber: "000000000",
unitOfMeasureInternalid: "T1||XX",
customerVendorInternalId: "T1|D MG 01|999999|01|F",
companyInternalid: "T1|D MG 01",
decrease: 0,
totalPrice: 10,
apportionmentDate: "2019-04-11",
quantity: 1,
retentionValue: 0
}
],
taskInternalId: "T1|D MG 01|PRJ01|0001|001.01.01"
}
],
accountingClosingDate: "1800-01-01"
},
hasNext: false,
total: 1
}


Criando Testes para validar XML:

Image Added


Bloco de código
titleExemplo de Testes
pm.test("Valida Status Retorno", function () {
    pm.expect(pm.response.code).to.be.oneOf([200]);
});

pm.test("Valida Conteúdo do Body - De/Para", function () {
    pm.expect(pm.response.text()).to.include("311D73CF-3B34-4ED6-A811-E07F7920A431");
});


Collections:

View file
nameTreinamento_Project_001.postman_collection.json
height250

DBF da Tabela de Adapters.

View file
namexx499011.dbf
height150