Página 1 de 1

Sefazclass 1001 utilidades: SOAP

Enviado: 06 Out 2017 13:37
por JoséQuintas
Teste de seguro

Código: Selecionar todos


PROCEDURE TesteCapicom

   LOCAL cXml := ;
      [<soapenv:Envelope ] + ;
         [xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ] + ;
         [xmlns:xsd="http://www.w3.org/2001/XMLSchema" ] + ;
         [xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ] + ;
         [xmlns:urn="urn:ATMWebSvr">] + ;
         [<soapenv:Header/>] + ;
         [<soapenv:Body>] + ;
            [<urn:averbaCTe ] + ;
               [soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">] + ;
               [<usuario xsi:type="xsd:string">AQUIUSUARIO</usuario>] + ;
               [<senha xsi:type="xsd:string">AQUISENHA</senha>] + ;
               [<codatm xsi:type="xsd:string">AQUICODATM</codatm>] + ;
               [<xmlCTe xsi:type="xsd:string">AQUIXMLCTE</xmlCTe>] + ;
            [</urn:averbaCTe>] + ;
         [</soapenv:Body>] + ;
      [</soapenv:Envelope>]

   SetMode( 25, 80 )
   CLS
   oSefaz := SefazClass():New()
   oSefaz:cSoapUrl := "http://webserver.averba.com.br/"
   oSefaz:cSoapAction := "urn:ATMWebSvr#averbaCTe"
   oSefaz:MicrosoftXmlSoapPost()
   ? "Retorno:" + oSefaz:cXmlRetorno

   Inkey(0)

   RETURN
hbmk2: Hint: Install package sefazclass and input file 'sefazclass.hbc' for
missing Harbour function(s): sefazclass()

d:\temp>hbmk2 test sefazclass.hbc
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
Harbour 3.4.0dev (6776e098ad) (2017-10-03 08:08)
Copyright (c) 1999-2017, https://github.com/vszakats/harbour-core/
Compiling 'test.prg'...
Lines 32, Functions/Procedures 1
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_fyb1sr.dir\test.c'... Done.
Retorno:Erro SOAP: XML retorno npo contTm soapenv:Body <?xml version="1.0" encod
ing="ISO-8859-1"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmls
oap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope
/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/200
1/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
><SOAP-ENV:Body><averbaCTeResponse><return xsi:type="xsd:string"><MSGS>
<ERRO>
<NUMDOC>NF</NUMDOC>
<SERIEDOC>NF</SERIEDOC>
<FILIALDOC>NF</FILIALDOC>
<LINHAARQ>NF</LINHAARQ>
<ERRODETALHE>
<CODIGO>900</CODIGO>
<VALORENVIADO></VALORENVIADO>
<VALORESPERADO></VALORESPERADO>
<LIMITE></LIMITE>
<DESCCOMPLETA>Usuario nao informado</DESCCOMPLETA>
</ERRODETALHE>
</ERRO>
</MSGS>
</return></averbaCTeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
O erro é normal, sem XML de CTE não tem informação.
Mas ok, praticamente 8 linhas de código fonte.

E pra quem ainda não viu, o SOAPUI ajuda.
soapui.png

Sefazclass 1001 utilidades: SOAP

Enviado: 06 Out 2017 16:46
por Kapiaba
Mister Quintas, onde baixo a SefazClass() para testar com Fivewin?

Obg. abs

Sefazclass 1001 utilidades: SOAP

Enviado: 06 Out 2017 16:50
por JoséQuintas
https://github.com/JoseQuintas/sefazclass

Só clicar em download, mas talvez venha em formato Linux. CR ao invés de CR+LF.
ou pelo git, nesse download mostra o endereço.

git clone https://github.com/JoseQuintas/sefazclass.git NomePasta