0
Ja esta ok@Joseg, he hecho pruebas (acabé instalando el Fujitsu).
Funciona en mi caso comentando las siguientes líneas:
COBOL Código:
*>INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP4 . *>INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP5 . *>INVOKE WEBSERVICE "setRequestHeader" using OP6 OP4 .
Este es mi código:
COBOL Código:
*> IDENTIFICATION DIVISION. PROGRAM-ID. TEST001. ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS COM AS "*COM" CLASS COMEXCEPTION AS "*COM-EXCEPTION". DATA DIVISION. WORKING-STORAGE SECTION. 01 WINHTTP PIC X(128) VALUE "WinHttp.WinHttpRequest.5.1". 01 WSDL PIC X(256) VALUE "https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl". 01 xTraffic-Conditions PIC X(384). *>01 Traffic-Conditions redefines xTraffic-Conditions pic x(386). 01 WEBSERVICE USAGE OBJECT REFERENCE COM. 01 OP1 PIC X(256) VALUE "POST". 01 OP2 PIC X(256) VALUE "http://ec.europa.eu/taxation_customs/vies/services/checkVatService/". 01 OP3 PIC X(256) VALUE "FALSE". * 01 OP4 PIC X(256) VALUE "Content-Type". 01 OP5 PIC X(256) VALUE "text/xml; charset=utf-8". 01 OP6 PIC X(256) VALUE "SOAPAction". 01 RESPOSTA PIC X(8192). 01 resultado1 PIC X(5). 01 resultado2 PIC X(5). *>01 long PIC 9(4) COMP-5. PROCEDURE DIVISION. MAIN SECTION. MAIN-00. STRING '<?xml version="1.0" encoding="UTF-8"?>' & X"0D0A" '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">' & X"0D0A" ' <SOAP-ENV:Body>' & X"0D0A" ' <tns1:checkVat xmlns:tns1="urn:ec.europa.eu:taxud:vies:services:checkVat:types">' & X"0D0A" ' <tns1:countryCode>ES</tns1:countryCode>' & X"0D0A" ' <tns1:vatNumber>B63272603</tns1:vatNumber>' & X"0D0A" ' </tns1:checkVat>' & X"0D0A" ' </SOAP-ENV:Body>' & X"0D0A" '</SOAP-ENV:Envelope>' & X"0D0A" * '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types">' & X"0D0A" * ' <soapenv:Header/>' & X"0D0A" * ' <soapenv:Body>' & X"0D0A" * ' <urn:checkVat>' & X"0D0A" * ' <urn:countryCode>ES</urn:countryCode>' & X"0D0A" * ' <urn:vatNumber>B63272603</urn:vatNumber>' & X"0D0A" * ' </urn:checkVat>' & X"0D0A" * ' </soapenv:Body>' & X"0D0A" * '</soapenv:Envelope>' & X"0D0A" DELIMITED BY SIZE INTO xTraffic-Conditions display xTraffic-Conditions display " " INVOKE COM "CREATE-OBJECT" USING WINHTTP RETURNING WEBSERVICE. * INVOKE WEBSERVICE "OPEN" USING op1 op2 op3. * *>INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP4 . *>INVOKE WEBSERVICE "setRequestHeader" USING OP6 OP5 . *>INVOKE WEBSERVICE "setRequestHeader" using OP6 OP4 . * *>compute long = function stored-char-length(xTRAFFIC-CONDITIONS) *>display long INVOKE WEBSERVICE "send" USING xTRAFFIC-CONDITIONS * INVOKE WEBSERVICE "get-Responsetext" RETURNING RESPOSTA display RESPOSTA display " " unstring RESPOSTA delimited by "<valid>" into resultado1 resultado2 inspect resultado2 replacing all "<" by spaces display "RESULTADO: " resultado2 EXIT PROGRAM .
Resultado:
CODE 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
Gracias a todos pela ajuda
Marcadores