Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   Cocina PowerCOBOL (https://www.cobolforo.es/forumdisplay.php?f=24)
-   -   [PowerCOBOL + COM/OLE] Ligar ao Site da União Europeia VAT Number (https://www.cobolforo.es/showthread.php?t=59)

Joseg 11 de noviembre de 2021 18:45

Cita:

Citación del post de Kuk (Mensaje 7294)
@Joseg, he hecho pruebas (acabé instalando el Fujitsu).

Funciona en mi caso comentando las siguientes líneas:

Código COBOL:
  1.     *>INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP4 .
  2.     *>INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP5 .
  3.     *>INVOKE WEBSERVICE "setRequestHeader" using OP6 OP4 .

Este es mi código:

Código COBOL:
  1. *>
  2.  IDENTIFICATION DIVISION.
  3.  PROGRAM-ID.   TEST001.
  4.  
  5.  ENVIRONMENT     DIVISION.
  6.  CONFIGURATION SECTION.
  7.  REPOSITORY.
  8.      CLASS COM AS "*COM"
  9.      CLASS COMEXCEPTION AS "*COM-EXCEPTION".
  10.  
  11.  DATA            DIVISION.
  12.  WORKING-STORAGE SECTION.
  13.  01 WINHTTP               PIC X(128) VALUE "WinHttp.WinHttpRequest.5.1".
  14.  01 WSDL                  PIC X(256) VALUE "https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl".
  15.  01 xTraffic-Conditions   PIC X(384).
  16.    
  17.  *>01 Traffic-Conditions redefines xTraffic-Conditions pic x(386).
  18.  
  19.  01 WEBSERVICE USAGE OBJECT REFERENCE COM.
  20.  
  21.  01 OP1 PIC X(256) VALUE "POST".
  22.  01 OP2 PIC X(256) VALUE "http://ec.europa.eu/taxation_customs/vies/services/checkVatService/".
  23.  01 OP3 PIC X(256) VALUE "FALSE".
  24. *
  25.  01 OP4 PIC X(256) VALUE "Content-Type".
  26.  01 OP5 PIC X(256) VALUE "text/xml; charset=utf-8".
  27.  01 OP6 PIC X(256) VALUE "SOAPAction".
  28.  
  29.  
  30.  01 RESPOSTA    PIC X(8192).
  31.  
  32.  01 resultado1   PIC X(5).
  33.  01 resultado2   PIC X(5).
  34.  
  35.  *>01  long  PIC 9(4) COMP-5.
  36.  
  37.  PROCEDURE       DIVISION.
  38.  MAIN SECTION.
  39.  MAIN-00.
  40.  
  41.      STRING
  42.      '<?xml version="1.0" encoding="UTF-8"?>' & X"0D0A"
  43.      '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">' & X"0D0A"
  44.      '  <SOAP-ENV:Body>' & X"0D0A"
  45.      '    <tns1:checkVat xmlns:tns1="urn:ec.europa.eu:taxud:vies:services:checkVat:types">' & X"0D0A"
  46.      '      <tns1:countryCode>ES</tns1:countryCode>' & X"0D0A"
  47.      '      <tns1:vatNumber>B63272603</tns1:vatNumber>' & X"0D0A"
  48.      '    </tns1:checkVat>' & X"0D0A"
  49.      '  </SOAP-ENV:Body>' & X"0D0A"
  50.      '</SOAP-ENV:Envelope>' & X"0D0A"
  51. *          '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types">' & X"0D0A"
  52. *     '   <soapenv:Header/>' & X"0D0A"
  53. *     '   <soapenv:Body>' & X"0D0A"
  54. *     '      <urn:checkVat>' & X"0D0A"
  55. *     '         <urn:countryCode>ES</urn:countryCode>' & X"0D0A"
  56. *     '         <urn:vatNumber>B63272603</urn:vatNumber>' & X"0D0A"
  57. *     '      </urn:checkVat>' & X"0D0A"
  58. *     '   </soapenv:Body>' & X"0D0A"
  59. *     '</soapenv:Envelope>' & X"0D0A"
  60.          DELIMITED BY SIZE INTO xTraffic-Conditions
  61.      
  62.      display xTraffic-Conditions
  63.      display " "    
  64.          
  65.      INVOKE COM "CREATE-OBJECT" USING WINHTTP RETURNING WEBSERVICE.
  66. *
  67.      INVOKE WEBSERVICE "OPEN" USING op1 op2 op3.
  68. *
  69.     *>INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP4 .
  70.     *>INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP5 .
  71.     *>INVOKE WEBSERVICE "setRequestHeader" using OP6 OP4 .
  72. *
  73.    
  74.      *>compute long = function stored-char-length(xTRAFFIC-CONDITIONS)      
  75.     *>display long
  76.      
  77.      INVOKE WEBSERVICE "send" USING xTRAFFIC-CONDITIONS
  78. *
  79.      INVOKE WEBSERVICE "get-Responsetext" RETURNING RESPOSTA
  80.  
  81.      display RESPOSTA
  82.      display " "
  83.      
  84.      unstring RESPOSTA delimited by "<valid>" into resultado1 resultado2
  85.      
  86.      inspect resultado2 replacing all "<" by spaces
  87.      
  88.      display "RESULTADO: " resultado2
  89.      
  90.      EXIT PROGRAM
  91.      .

Resultado:

Código:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <tns1:checkVat xmlns:tns1="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
      <tns1:countryCode>ES</tns1:countryCode>
      <tns1:vatNumber>B63272603</tns1:vatNumber>
    </tns1:checkVat>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><checkVatResponse xmlns="urn:ec.europa.eu:taxud:vies:services:checkVat:types"><countryCode>ES</countryCode><vatNumber>B63272603</vatNumber><requestDate>2021-11-11+01:00</requestDate><valid>true</valid><name>---</name><address>---</address></checkVatResponse></soap:Body></soap:Envelope>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 
RESULTADO: true


Ja esta ok :beber:
Gracias a todos pela ajuda :sis:

Paulo 6 de septiembre de 2022 17:56

Olá a todos.
Talvez possa interessar a alguém esta solução.
O serviço SOAP do VIES deixou outra vez de responder na semana passada (para o codigo feito pelo Rui).
Para solucionar basta fazer o seguinte: (inclui a alteração para resolver o erro anterior de 2021)

Código COBOL:
  1. ***** alterado 2021-11-16 para resolver erro de comunicação
  2. *   INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP4 .
  3. *   INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP5 .
  4. *   INVOKE WEBSERVICE "setRequestHeader" using OP6 OP4 .
  5. ****** fim alteração
  6. *
  7. ***** alterado 2022-09-06 para resolver erro de comunicação
  8.     INVOKE WEBSERVICE "setRequestHeader" USING OP4 OP5 .
  9. ****** fim alteração

Saludos

Paulo 7 de septiembre de 2022 10:19

Também alteraram a resposta XML
Os campos <valid> <name> <address>
passaram a <ns2:valid> <ns2:name> <ns2:address>


La franja horaria es GMT +2. Ahora son las 16:33.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.