Ver Mensaje Individual
  #4  
Antiguo 18-03-2015
frankizzio frankizzio is offline
Miembro
NULL
 
Registrado: abr 2013
Posts: 10
Reputación: 0
frankizzio Va por buen camino
Consumir servicio con WDSL - autentificación WS-Security

Hola Jhonny gracias por responder,

El servicio es de una entidad del estado, la cual consiste en enviar un arreglo de bits(de un archivo zipeado) y el nombre del archivo, esto con la autentificación WS-Security, ahora lo que no se es si las clases que se generan resuelven todo ese problema o tengo que utilizar el componente HTTPRIO para realizar la conexión con el servicio web.

En su manual de programador dicen lo siguiente

1) Los documentos XML de la factura, boleta de venta y notas de crédito y debito, así como del resumen diario y comunicaciones de baja, antes de ser enviados a la SUNAT, deberán ser empaquetados en un archivo ZIP.
...
3) El envío de los archivos ZIP, indicados en el punto 1, será vía WebServices.
4) El servicio Web estará protegido con un esquema de seguridad basado en WSSecurity.
5) El modelo de seguridad usado en WSSecurity será UsernameToken

El servicio web de recepción cuenta con un método personalizado para aceptar cada tipo de documento electrónico. Los métodos de recepción definidos son los siguientes:
- sendBill, este método recibe un archivo ZIP con un único documento XML de comprobante y devuelve un archivo Zip que contiene un documento XML que es la constancia de aceptación ó rechazo.
- sendSummary, este método recibe un archivo Zip con un único documento XML de resúmenes, ya sea resumen de boletas o comunicación de bajas. Devuelve un ticket con el que posteriormente utilizando el método getStatus se puede obtener el archivo Zip que contiene un documento XML que es la constancia de aceptación o rechazo.
- getStatus, este método recibe el ticket como parámetro y devuelve un objeto que indica el estado del proceso y en caso de haber terminado, devuelve adjunta la constancia de aceptación o rechazo.

Ejemplo SOAP para invocar el servicio SendBill:
Código:
<soapenv:Envelope xmlns:soapenv="h ttp://sche mas.xmlsoap.org/soap/envelope/" xmlns:ser="ht tp://serv ice.sunat.gob.pe" xmlns:wsse="h ttp://do cs.o asis-open.org/wss/2004/01/oasis-200401-wss-wssec urity-secext-1.0.xsd"> <soapenv:Header> <wsse:Security> <wsse:UsernameToken> <wsse:Username>20100066603MODDATOS</wsse:Username> <wsse:Password>moddatos</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <ser:sendBill> <fileName>20100066603-01-F001-1.zip</fileName> <contentFile>cid:20100066603-01-F001-1.zip</contentFile> </ser:sendBill> </soapenv:Body> </soapenv:Envelope>
Por otro lado, lo que hice fue llenar con otro TByteDynArray llamado ByteA el ContentFile porque aún no tengo el archivo generado con todas las especificaciones, entonces que no cargue el archivo Zip puede ser el problema
Responder Con Cita