roshkadev / rshk-jsifenlib

Librería de código abierto para interactuar con SIFEN de la SET.
100 stars 43 forks source link

Bug al consultar RUC con guiones #2

Closed juanbjs closed 2 years ago

juanbjs commented 2 years ago

Cuando se consulta un RUC con guiones la set responde esto:

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
   <env:Header />
   <env:Body>
      <ns2:rRetEnviDe xmlns:ns2="http://ekuatia.set.gov.py/sifen/xsd">
         <ns2:rProtDe>
            <ns2:dFecProc>2021-11-20T12:34:20-03:00</ns2:dFecProc>
            <ns2:dEstRes>Rechazado</ns2:dEstRes>
            <ns2:gResProc>
               <ns2:dCodRes>0160</ns2:dCodRes>
               <ns2:dMsgRes>XML Mal Formado.</ns2:dMsgRes>
            </ns2:gResProc>
         </ns2:rProtDe>
      </ns2:rRetEnviDe>
   </env:Body>
</env:Envelope>

Pero en el Objeto RespuestaConsultaRUC se setean null los atributos dCodRes y dMsgRes

{
    "codigoEstado": 400,
    "respuestaBruta": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\"><env:Header/><env:Body><ns2:rRetEnviDe xmlns:ns2=\"http://ekuatia.set.gov.py/sifen/xsd\"><ns2:rProtDe><ns2:dFecProc>2021-11-20T12:34:20-03:00</ns2:dFecProc><ns2:dEstRes>Rechazado</ns2:dEstRes><ns2:gResProc><ns2:dCodRes>0160</ns2:dCodRes><ns2:dMsgRes>XML Mal Formado.</ns2:dMsgRes></ns2:gResProc></ns2:rProtDe></ns2:rRetEnviDe></env:Body></env:Envelope>",
    "dCodRes": null,
    "dMsgRes": null,
    "xContRUC": null
}
martinzarza commented 2 years ago

En realidad no es un bug, es el comportamiento esperado. Lo que ocurre es que Sifen retorna un HTML en vez de un XML cuando ocurre un error que no saben como manejar, entonces no se puede formatear la respuesta correctamente.

Pero sí puede ser una mejora para próximos releases el formatear independientemente del estado de la respuesta.

PD: Las consultas de RUC se hacen sin el guión y sin el DV. No sé si simplemente estás forzando el error o no conocías ese requerimiento.

juanbjs commented 2 years ago

Hola Martin, force el error para ver el comportamiento del programa.

hice las mejoras que creo que se pueden aplicar para que los campos dCodRes y dMsgRes no vengan null, pero creo que el repo esta cerrado a pullrequest de terceros.

martinzarza commented 2 years ago

Perfecto Juan, voy a estar habilitando la opción y te aviso para que puedas crear el PR.

martinzarza commented 2 years ago

Ahora podes crear Pull Requests @juanbjs