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<?xml version="1.0" encoding="UTF-8"?>
<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" >
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken Id="ABC-123">
<wsse:Username>XXXXXXXXMODDATOS</wsse:Username>
<wsse:Password>XXXXXXXX</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ser:sendBill>
<fileName>archivo.zip</fileName>
<contentFile>base64(archivo.zip)</contentFile>
</ser:sendBill>
</soapenv:Body>
</soapenv:Envelope>
Desde SOAP::Lite (perl)
Código C++:
Ver originalmy $client=SOAP::Lite
->service('https://e-beta.sunat.gob.pe/ol-ti-itcpfegem-beta/billService?wsdl');
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" >
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken Id="ABC-123">
<wsse:Username>XXXXXXXXMODDATOS</wsse:Username>
<wsse:Password>XXXXXXXX</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ser:sendBill>
<fileName>archivo.zip</fileName>
<contentFile>base64(archivo.zip)</contentFile>
</ser:sendBill>
</soapenv:Body>
</soapenv:Envelope>';
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!!