Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-10-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
consumir web service SUNAT - facturacion electronica

una mano por favor con este tema
intento leer el CDR de un documento
segun la documentacion del web services establece lo siguiente
Cita:
SERVICIO WEB CONSULTA DE FACTURAS Y NOTAS



1. La consulta es un servicio web

2. Esta versión sólo permite consultar facturas y notas de crédito y debito, que inicien con “F”

3. Para utilizar esta consulta, se tiene que construir un cliente que se conecte al servicio web.

La URL del servicio web es la siguiente:
https://www.sunat.gob.pe/ol-it-wscon...ConsultService


4. El cliente envía una petición al servidor en formato XML; un ejemplo de esta petición es:


<soapenv:Envelope xmlns:ser="http://service.sunat.gob.pe"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-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:getStatus>
<rucComprobante>1028308796</rucComprobante>
<tipoComprobante>01</tipoComprobante>
<serieComprobante>f213</serieComprobante>
<numeroComprobante>12345</numeroComprobante>
</ser:getStatus>
</soapenv:Body>
</soapenv:Envelope>


Donde:
- <wsse:Username>20100066603MODDATOS</wsse:Username>
20100066603MODDATOS = RUC contribuyente más usuario sol.

- <wsse:Password>moddatos</wsse:Password>
moddatos =clave sol del contribuyente

- <rucComprobante>1028308796</rucComprobante>
1028308796 = RUC del comprobante que se quiere consultar

- <tipoComprobante>01</tipoComprobante>
01 = tipo de comprobante que se quiere consultar (01:factura, 07: nota de crédito y 08:nota de debito)

- <serieComprobante>f213</serieComprobante>
f213 = número de serie del comprobante que se quiere consultar

- <numeroComprobante>12345</numeroComprobante>
12345 = numero del comprobante que se quiere consultar

5. La consulta es solo del estado del documento electrónico.

Ejemplo del XML de retorno del servidor.

ya descargue el archivo [url="https://www.sunat.gob.pe:443/ol-ti-it cpgem-beta/bill Service?wsdl"] y se convirtio en una unidad llamada billservice.pas
la cual analizandola tiene 3 funciones

Código Delphi [-]
  billService = interface(IInvokable)
  ['{3D02E3B8-C614-3CC3-895A-7695F0354EB7}']
    function  sendBill(const parameters: sendBill): sendBillResponse; stdcall;
    function  sendSummary(const parameters: sendSummary): sendSummaryResponse; stdcall;
    function  getStatus(const parameters: getStatus): getStatusResponse; stdcall;
  end;

SendBill enviar factura
sendSummary enviar resumen
getStatus obtener respuesta sobre el documento

este ultimo punto es el que me interesa desarrollar

ya tengo creado el XML con la estructura solicitada, ahora solo me falta entender como utilizo el httprio para la lectura de los datos

alguien me echa una mano?
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 24-10-2019 a las 19:38:40.
Responder Con Cita
  #2  
Antiguo 24-10-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
me corrijo
leyendo la documentacion no habla nada del archivo q mencione (billservice.pas)

aqui el tema es entrar a consultar una pagina, con ciertos datos de entrada
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 25-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No me queda claro el problema que tienes.
Y pon el código que usas.
Responder Con Cita
  #4  
Antiguo 25-10-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
en la cita esta lo q pido
basicamente es consumir un servicio de esta direccion
https://www.sunat.gob.pe/ol-it-wscon...ConsultService

dandole datos de entrada en xml con la siguiente estructira

Código:
<soapenv:Envelope xmlns:ser="http://service.sunat.gob.pe"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-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:getStatus>
<rucComprobante>1028308796</rucComprobante>
<tipoComprobante>01</tipoComprobante>
<serieComprobante>f213</serieComprobante>
<numeroComprobante>12345</numeroComprobante>
</ser:getStatus>
</soapenv:Body>
</soapenv:Envelope>
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 25-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por oscarac Ver Mensaje
en la cita esta lo q pido
basicamente es consumir un servicio de esta direccion
https://www.sunat.gob.pe/ol-it-wscon...ConsultService
La página que Ud. desea consultar no existe o en éste momento no se encuentra disponible, por favor revise el URL que está solicitando o intente de ubicarlo desde nuestra página principal.


De todas formas, creo que se te olvidó decir cuál es el problema

Responder Con Cita
  #6  
Antiguo 25-10-2019
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si revisas este link (https://neftali.clubdelphi.com/35-ge...ice-en-delphi/) habla del tema.
En concreto, en los ejemplos, el CLIENTE 3, hare justo lo que necesitas tú, pero con un WSDL distinto. Te puede servir para seguir lospasos.

En tu caso te serviría el componente THTTPRIO y el código debería ser similar a esto:

Código Delphi [-]
var
  params:getStatus;
begin
  // Según el rellenado llamamos a uno u otro
  params := getStatus.Create;
  try
    params.rucComprobante := '1028308796';
    params.tipoComprobante := '01';
    params.serieComprobante := 'f213';
    params.numeroComprobante := 12345;
    (HTTPRIO1 as billService).getStatus(params);
  finally
    FreeAndNil(params);
  end;


Fíjate en los parámetros de entrada y salida, que están definidos en la unit que has generado al importar.

Revisa los otros ejemplos, porque también puedes hacerlo utilizando componentes de REST.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 27-10-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
La página que Ud. desea consultar no existe o en éste momento no se encuentra disponible, por favor revise el URL que está solicitando o intente de ubicarlo desde nuestra página principal.


De todas formas, creo que se te olvidó decir cuál es el problema

[text]https://e-factura.sunat.gob.pe/ol-ti-itcpfegem/billService?wsdl[/text]

esa es la pagina... creo que cuando se coloca como link no aparece completa

el problema es que no hallo la manera de consumir ese web service
creo que me estoy confundiendo, porque en la documentacion no menciona este link si no otro
dejame revisar bien
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 27-10-2019 a las 05:57:25.
Responder Con Cita
  #8  
Antiguo 27-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ese link sí muestra esta información:


Código:
<wsdl:definitions targetNamespace="http://service.gem.factura.comppago.registro.servicio.sunat.gob.pe/">
<wsdl:import location="billService?ns1.wsdl" namespace="http://service.sunat.gob.pe"/>
<wsdl:import location="billService?ns2.wsdl" namespace="http://www.datapower.com/extensions/http://schemas.xmlsoap.org/wsdl/soap12/"/>
<wsdl:binding name="BillServicePortBinding" type="ns1:billService">
<soap11:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="getStatus">
<soap11:operation soapAction="urn:getStatus" style="document"/>
<wsdl:input name="getStatusRequest">
<soap11:body use="literal"/>
</wsdl:input>
<wsdl:output name="getStatusResponse">
<soap11:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendBill">
<soap11:operation soapAction="urn:sendBill" style="document"/>
<wsdl:input name="sendBillRequest">
<soap11:body use="literal"/>
</wsdl:input>
<wsdl:output name="sendBillResponse">
<soap11:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendPack">
<soap11:operation soapAction="urn:sendPack" style="document"/>
<wsdl:input name="sendPackRequest">
<soap11:body use="literal"/>
</wsdl:input>
<wsdl:output name="sendPackResponse">
<soap11:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendSummary">
<soap11:operation soapAction="urn:sendSummary" style="document"/>
<wsdl:input name="sendSummaryRequest">
<soap11:body use="literal"/>
</wsdl:input>
<wsdl:output name="sendSummaryResponse">
<soap11:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="billService">
<wsdl:port name="BillServicePort" binding="ns0:BillServicePortBinding">
<soap11:address location="https://e-factura.sunat.gob.pe:443/ol-ti-itcpfegem/billService"/>
</wsdl:port>
<wsdl:port name="BillServicePort.0" binding="ns2:BillServicePortBinding">
<soap12:address location="https://e-factura.sunat.gob.pe:443/ol-ti-itcpfegem/billService"/>
</wsdl:port>
<wsdl:port name="BillServicePort.1" binding="ns0:BillServicePortBinding">
<soap11:address location="https://e-factura.sunat.gob.pe:443/ol-ti-itcpfegem/billService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Facturación electrónica Perú SUNAT wilcg Internet 5 29-10-2018 18:46:01
DTD is Prohibited al consumir Web Service. jlrdz Internet 2 22-02-2016 23:12:43
Como consumir un web service que usa SSL AzidRain Internet 0 12-12-2013 20:38:02
Consumir un Web Service lbidi Varios 4 17-04-2012 14:28:37
facturacion electronica anubis Debates 5 09-11-2010 06:33:59


La franja horaria es GMT +2. Ahora son las 18:33:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi