Foros del Web » Programación para mayores de 30 ;) » Programación General »

PERL - Soap Lite consumir wsdl SUNAT (Peru)

Estas en el tema de PERL - Soap Lite consumir wsdl SUNAT (Peru) en el foro de Programación General en Foros del Web. Hola a toda la comunidad. Después de decepcionarme del consumo de las wsdl de SUNAT(Superintendencia Peruana) a través de php (solo me funciono con los ...
  #1 (permalink)  
Antiguo 03/11/2018, 10:36
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 3 años, 7 meses
Puntos: 8
PERL - Soap Lite consumir wsdl SUNAT (Peru)

Hola a toda la comunidad.

Después de decepcionarme del consumo de las wsdl de SUNAT(Superintendencia Peruana) a través de php (solo me funciono con los servicios de prueba - en produccion no me funcionó).
Decidí por usar Perl (nunca he programado en este lenguaje).

- Perl 5, version 16, subversion 3 (v5.16.3)
- Centos 7


Bueno,
tengo 1 semana intentando enviar el archivo xml al servicio sunat de la siguiente manera:

link wsdl SUNAT (sendBill):
https://e-beta.sunat.gob.pe/ol-ti-it...llService?wsdl

Estructura XML que se envia a SUNAT:
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.     <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.sunat.gob.pe" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" >
  3.      <soapenv:Header>
  4.          <wsse:Security>
  5.              <wsse:UsernameToken Id="ABC-123">
  6.                  <wsse:Username>XXXXXXXXMODDATOS</wsse:Username>
  7.                  <wsse:Password>XXXXXXXX</wsse:Password>
  8.              </wsse:UsernameToken>
  9.          </wsse:Security>
  10.      </soapenv:Header>
  11.      <soapenv:Body>
  12.          <ser:sendBill>
  13.             <fileName>archivo.zip</fileName>
  14.             <contentFile>base64(archivo.zip)</contentFile>
  15.          </ser:sendBill>
  16.      </soapenv:Body>
  17.     </soapenv:Envelope>

Desde SOAP::Lite (perl)

Código C++:
Ver original
  1. my $client=SOAP::Lite
  2.         ->service('https://e-beta.sunat.gob.pe/ol-ti-itcpfegem-beta/billService?wsdl');
  3.  
  4. my $message='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.sunat.gob.pe" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" >
  5.      <soapenv:Header>
  6.          <wsse:Security>
  7.              <wsse:UsernameToken Id="ABC-123">
  8.                  <wsse:Username>XXXXXXXXMODDATOS</wsse:Username>
  9.                  <wsse:Password>XXXXXXXX</wsse:Password>
  10.              </wsse:UsernameToken>
  11.          </wsse:Security>
  12.      </soapenv:Header>
  13.      <soapenv:Body>
  14.          <ser:sendBill>
  15.             <fileName>archivo.zip</fileName>
  16.             <contentFile>base64(archivo.zip)</contentFile>
  17.          </ser:sendBill>
  18.      </soapenv:Body>
  19.     </soapenv:Envelope>';
  20.  
  21. print $client->sendBill(SOAP::Data->type('xml'=>$message));

No encuentro donde estaría el error o que es lo que me falta agregar.

De antemano agradezco cualquier ayuda o sugerencia.


Gracias!!

Última edición por oggy_15_3; 03/11/2018 a las 14:21



La zona horaria es GMT -6. Ahora son las 20:58.