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 original
my $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!!