consumo de web services sri - envío y recepción de autorización

7
1 2 3 4 5 6 7 8 9 10 11 12 13 public String formatSendPost(String codAcceso){ String xml = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:ec='http://ec.gob.sr "<soapenv:Header/>"+ "<soapenv:Body>"+ "<ec:autorizacionComprobante>"+ "<claveAccesoComprobante>"+codAcceso+"</claveAccesoComprobante>"+ "</ec:autorizacionComprobante>"+ "</soapenv:Body>"+ "</soapenv:Envelope>"; return xml; }

Upload: wilson-palomo

Post on 10-Sep-2015

787 views

Category:

Documents


83 download

DESCRIPTION

Consumo de Web Services SRI - Envío y Recepción de Autorización

TRANSCRIPT

  • 12345678910111213

    public StringformatSendPost(StringcodAcceso){

    Stringxml="

  • 1234567891011121314151617181920212223

    public void getAutorizacion(Documentdoc)throws XPathExpressionException{StringpathLevelAutorizacon="//RespuestaAutorizacionComprobante/autorizaciones/autorizacion[last()]/";StringpathLevelMensajes="//RespuestaAutorizacionComprobante/autorizaciones/autorizacion/mensajes[last()]/mensaje/"

    Stringestado=getLastNode(pathLevelAutorizacon,"estado",doc);

    if(estado.equals("AUTORIZADO")){System.out.println(

    "Estado:" +getLastNode(pathLevelAutorizacon,"estado",doc)+"\n"+"NAuto:" +getLastNode(pathLevelAutorizacon,"numeroAutorizacion",doc)+"\n"+"FechaAuto:" +getLastNode(pathLevelAutorizacon,"fechaAutorizacion",doc)+"\n"+"Ambiente:" +getLastNode(pathLevelAutorizacon,"ambiente",doc)

    );}else if(estado.equals("NOAUTORIZADO")){

    System.out.println("Estado:" +getLastNode(pathLevelAutorizacon,"estado",doc)+"\n"+"FechaAuto:" +getLastNode(pathLevelAutorizacon,"fechaAutorizacion",doc)+"\n"+"Ambiente:" +getLastNode(pathLevelAutorizacon,"ambiente",doc)+"\n"+"Identificador:" +getLastNode(pathLevelMensajes,"identificador",doc)+"\n"+"Mensaje:" +getLastNode(pathLevelMensajes,"mensaje",doc)+"\n"+"Tipo:" +getLastNode(pathLevelMensajes,"tipo",doc));

    }}

  • 12345678910111213141516171819202122232425262728293031323334353637383940414243

    public boolean getRequestSoap(StringurlWebServices,Stringmethod,Stringhost,StringgetEncodeXML,Proxyproxy)throws I

    try {

    URLoURL=new URL(urlWebServices);

    HttpURLConnectioncon=(HttpURLConnection)oURL.openConnection(proxy);con.setDoOutput(true);

    con.setRequestMethod(method);

    con.setRequestProperty("Contenttype","text/xml;charset=utf8");con.setRequestProperty("SOAPAction","");con.setRequestProperty("Host",host);

    OutputStreamreqStreamOut=con.getOutputStream();reqStreamOut.write(getEncodeXML.getBytes());

    System.out.println(con.getErrorStream());

    java.io.BufferedReaderrd=new java.io.BufferedReader(new java.io.InputStreamReader(con.getInputStream(),"UTF8")

    Stringline="";StringBuildersb=new StringBuilder();

    while ((line=rd.readLine())!=null)sb.append(line);

    //System.out.println(sb.toString());

    Documentdoc=xml_utilidades.convertStringToDocument(sb.toString());

    getAutorizacion(doc);

    con.disconnect();

    return true;

    }catch (Exceptionex){System.out.println(ex.getMessage());

    }return false;

    }

  • Comentarios (22) AADIR NUEVO

    Annimonimo Viernes, 13 Febrero 2015Amigo, eres un bacan!... de veras muchisimas gracias... una pregunta adicional supongo que en String getEncodeXML en la funciongetRequestSoap() se debe enviar lo que retorna la funcion formatSendPost(String codAcceso) verdad?

    Annimonimo Viernes, 13 Febrero 2015Esacto igual que en el web services de recpcin de comprobantes..

    Annimonimo Lunes, 02 Marzo 2015alguna idea de como hacer lo mismo con .net

    Annimonimo Lunes, 16 Marzo 2015Hola buenos dias, estoy desarrollando PHP y Yii, realizando pruebas, pido su ayuda, me conecto al web services SRI envio mi clave deacceso y retorna stdClass Object ( [RespuestaAutorizacionComprobante] => stdClass Object ( [numeroComprobantes] => 0[autorizaciones] => stdClass Object ( ) ) ) , pero tengo el comprobante en ambiente de pruebas y no tengo respuesta alguna persona queme ayude

    Victor Mircoles, 18 Marzo 2015Buenas noches colegas!!!

    Les cuento que el Envo y Recepcin de Autorizacin de comprobantes electrnicos usando los Web Services del SRI ya lo tengo resueltoen C#. Por el momento lo estoy adaptando para lograr un flujo similar al planteado aqu por Cristhian y en los prximos das lo publicar.

    Saludos a todos.

    Victor Lunes, 30 Marzo 2015Revisen el link este. Ya est publicado el cdigo prometido

    1 CITAR RESPONDER

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    1 CITAR RESPONDER

    0 CITAR RESPONDER

  • Annimo Sbado, 11 Abril 2015Amigo podrias darme tu correo para contactarte ???

    Annimo Lunes, 30 Marzo 2015Hola Christian, prob el codigo en JAVA y funca super bien, le hice una pequea modificacion para que me guarde el XML consultado,pero me doy cuenta que me lo guarda en un formato diferente (no le veo la CDATA por ningun lado), mi pregunta es hay que hacer algunproceso de conversion o modificacion del XML recibido?., si lo guardo tal cual y ese lo envio al receptor del documento estoyincumpliendo con alguna norma del SRI?GraciasRolando

    Cristhian Carreo Arce Martes, 31 Marzo 2015Referente al SRI, a ellos solo les interesa que tu enves el xml con todos los detalles de la factura, si todo va bien te envan el cdigo deautorizacin. Referente a lo que intentas hacer de guardar el XML no existe razn de hacerlo, debido que todos los datos que tu envas alSRI, ya los tienes en tu BD, lo nico diferente q te devuelve el SRI es el cdigo de autorizacin, ahora si yo he puesto como extraer losdatos del xml recibido por el SRI, se debe a que quiero saber en q estado quedo el envo y recepcin de mi comprobante, si lo acepto o no.Ahora si lo que quieres es formar tu reporte, coge los datos de tu BD ms el dato de autorizacin q te devuelve cuando un comprobanteestuvo OK. Lo del CDATA, es para almacenar informacin adicional a la estructura XML ya formada, eso e visto que se aplica en losreportes, el SRI tambin t devuelve algo as, pero insisto eso no te servira por que tu ya tienes todos esos datos.

    Annimo Mircoles, 01 Abril 2015Gracias Cristhian por tu explicacion, el motivo por lo que guardo el XML es para la custodia del mismo, cuando genero el XML desdeel aplicativo gratuito del SRI lo guarda en un formato que tiene CDATA, cuando lo genero con tu rutina me lo guarda sin CDATA (enla cadena de respuests no viene cdata),esa es mi gran duda.

    graciasRolando

    Cristhian Carreo Arce Lunes, 13 Abril 2015Por favor colaborar con cdigo para el proyecto en PHP existen muchas personas que necesitan instrucciones. Gracias a esos buenoscolaboradores del Software Libre.

    Alejandro Quiroz Mircoles, 15 Abril 2015Estimado Cristian, estoy en desarrollo de tu excelente proyecto con PHP. Estimo tenerlo listo a finales del mes de mayo en Github oBitbucket (por cuestiones de tiempo) para que sea parte de este proyecto y por supuesto sea de libre acceso. Gracias por tan excelentetrabajo y explicaciones sobre este proceso que debe ser de conocimiento pblico y general para los desarrolladores en Ecuador.

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    1 CITAR RESPONDER

    0 CITAR RESPONDER

    1 CITAR RESPONDER

    1 CITAR RESPONDER

  • Cristhian Carreo Arce Mircoles, 15 Abril 2015Gracias, la comunidad estar en espera de tu aporte...

    Annimo Jueves, 30 Abril 2015ESIMADO ALEJANDRO QUIROZ ESTOY TRABAJANDO EN UN PROYECTO EN PHP FACTURACION ELECRONNICA CON LAFINALIDAD DE APORTAR CON ALGO A LA COMIDAD DE DESARROLO DE SOFWARE LIBRE SERA QUE ME AYUDAS CON LOQUE TE GIUASTES PARA NO MORIR EN EL INTENTO

    Annimo Jueves, 30 Abril 2015

    Alejandro Quiroz Escrito:Estimado Cristian, estoy en desarrollo de tu excelente proyecto con PHP. Estimo tenerlo listo a finales del mes de mayo en Github oBitbucket (por cuestiones de tiempo) para que sea parte de este proyecto y por supuesto sea de libre acceso. Gracias por tanexcelente trabajo y explicaciones sobre este proceso que debe ser de conocimiento pblico y general para los desarrolladores enEcuador.

    Cristhian Carreo Arce Sbado, 09 Mayo 2015Por favor colegas evitar a este tipo "[email protected]" que est haciendo mercadeo en la pgina borr sus comentarios y ledeje un mensaje q vaya a publicar sus anuncios a OLX o Mercado Libre. Si no vienes a colaborar no tienes nada que hacer aqu...

    Annimo Lunes, 11 Mayo 2015Saludos, amigos, realmente me han ayudado bastante, tenia algun codigo pero aqui pude resolverlo,ahora la cuestion es lasiguiente,alguien tiene codigo, cuando esta autorizado el XML transformarlo en PDF con dicha autorizacion, si sabe alguien, seriabuenazo y se les agradeceria bastante...

    Victor Martes, 12 Mayo 2015Estimado Annimo, no tengo el cdigo todava, pero si te sirve de gua yo lo estoy haciendo con iTextSharp ya que esta librera te permitegenerar archivos PDF e insertar imgenes, cdigos de barras, tablas, etc. Me parece la mejor opcin.

    Annimo Hace 4 semanasVictor y has logrado poner la informacion adicional debajo de la tabla de detalle ?? asi como esta en el formato RIDE en la Pagina delSRI

    Annimo Hace 4 semanasVictor y has logrado poner la informacion adicional debajo de la tabla de detalle ?? asi como esta en el formato RIDE en la Pagina del SRI

    1 CITAR RESPONDER

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    0 CITAR RESPONDER

  • Annimo Hace 2 semanasAmigo y tienes de como se guarda el Archivo XML con el CDATA ??

    Cristhian Carreo Arce Hace 1 daSoy el creador de este sitio, por favor alguien q haya tenido avances realizando el proyecto en PHP, por favor que colabore coninformacin para poder publicarla, existen muchos colegas que tienen dudas, gracias..

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    0 CITAR RESPONDER

    Comentarios desarrollados por CComment

    A USTED TAMBIN PODRA GUSTARLE:

    SRI Firma DigitalXadES-BES en Java conextensin .net,C#(Correccin)

    Consumo de WebServices SRI - Envo deComprobantes

    Consumo de WebServices SRI - Envo deComprobantes .net ( C# )

    Presentacin Facturas enLa Web usando Vaadin(Framework Java)