Bienvenido a Facturas y Respuestas.

Esperamos que encuentre la respuesta a su pregunta. Y si no, puede formularla para que los expertos de la comunidad la respondan.

Preguntar

Este blog es creado y administrado por:

Copyright - 2020

0 votos
por en Firma digital
editado

Buen día estimados, tengo una aplicación en c#, la cual genera un documento xml y debe enviarse por SOAP firmado a la entidad DIAN,  probé con el programa SOAPUI y se envía correctamente, el problema esta en mi aplicación, mi SOAP firmado es muy similar al de SOAPUI, pero no se envía me da error 500, No se como compartir mi código aqui. 

Este es el Soap que genera el SoapUI

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wcf="http://wcf.dian.colombia">

   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsu:Timestamp wsu:Id="TS-C417959476FF26245815906820173826"><wsu:Created>{0}</wsu:Created><wsu:Expires>{1}</wsu:Expires></wsu:Timestamp><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-C417959476FF26245815906820162961">MIIIm...</wsse:BinarySecurityToken><ds:Signature Id="SIG-C417959476FF26245815906820173285" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="wsa soap wcf" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#id-C417959476FF26245815906820163344"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="soap wcf" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>2lRSS23KIyOyE59vkxVy0qPK7uHSHodVTH6X1ORNK3Y=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>oNjcrib5iKakWRO2SDw07lUYFagiG0OzDNOhBQx7Sl9Sh/rfq87gIKZuRnGtkCzO+EQtP4sbQ1q6

PQBj3+CbtesbVGM3JMXtTUZNwCrO9gtAFr9lubB19xVAEUrdtay6FvPD56KEpKLW3rWMaPF3at7g

0m/pN1XtF+xsfKM59VQ0mKmnIleoSpYKHCUbjE6z2gr2p3aLUg9iJWINCgqFoxdq9E6F35ftOmfA

wdMyng/2G0Dd2zQB4VNuA7h8OVzjTdFWNZWPAECpZj4rP8+SnC60KfxJ2tsQ6dAA9P72Xguf2Xi3

1adIdoI71IxiFWd9mw7kahRNYKl/usCjjlDKXg==</ds:SignatureValue><ds:KeyInfo Id="KI-C417959476FF26245815906820163272"><wsse:SecurityTokenReference wsu:Id="STR-C417959476FF26245815906820163303"><wsse:Reference URI="#X509-C417959476FF26245815906820162961" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security><wsa:Action>http://wcf.dian.colombia/IWcfDianCustomerServices/SendTestSetAsync</wsa:Action><wsa:To wsu:Id="id-C417959476FF26245815906820163344" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">https://vpfe-hab.dian.gov.co/WcfDianCustomerServices.svc</wsa:To></soap:Header>

   <soap:Body>

      <wcf:SendTestSetAsync>

         <!--Optional:-->

         <!--type: string-->

         <wcf:fileName>{2}</wcf:fileName>

         <!--Optional:-->

         <!--type: base64Binary-->

         <wcf:contentFile>{3}</wcf:contentFile>

         <!--Optional:-->

         <!--type: string-->

         <wcf:testSetId>{4}</wcf:testSetId>

      </wcf:SendTestSetAsync>

   </soap:Body>

</soap:Envelope>

Y este es mi SOAP que genera mi app en c#

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wcf="http://wcf.dian.colombia"><soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsu:Timestamp wsu:Id="TS-C417959476FF26245815906820173826"><wsu:Created>{0}</wsu:Created><wsu:Expires>{1}</wsu:Expires></wsu:Timestamp><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-7d8095956ec748ef82f0b6fc778b2c114">MIIIm...</wsse:BinarySecurityToken><ds:Signature Id="SIG-7d8095956ec748ef82f0b6fc778b2c111" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="wsa soap wcf" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" /></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference URI="#id-7d8095956ec748ef82f0b6fc778b2c114"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="soap wcf" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" /></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>JlegyI+aSyLY9TIQMmSoryDZSvWM1BLY21yB4lGWDyo=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>ggWt2SW646DwvWhiVzn0HNDxqkqJsK/TtX0SVnlX0LoDoAevaMVzXrhU02z87cHS+GdMBJF7/VarH3RvXl8USxPwNcCcfIeYC+H79rWnYMwBA8ArppPMchpstxJHs3dtytKrs0mvRco3NwgAv4+poFubCBx/+UxGfoihn7IxE2kSytsTw1NQ1v5A7kJjhqT2HqSJbkK7QDRWiL3PtTleKhZ+uxhn/mz7K41ZUQO0Sjtw22CJxruIT3XK/hM3Z4dKx2dmp4nd5oxAVmSzWN1C+FetJTls84ayPva9eMng+aOyNn5xJ2fKu4XIxj+AwtcyU1vLuoUDbNXpcItOTAOYJw==</ds:SignatureValue><ds:KeyInfo Id="KI-7d8095956ec748ef82f0b6fc778b2c112"><wsse:SecurityTokenReference wsu:Id="STR-7d8095956ec748ef82f0b6fc778b2c113"><wsse:Reference URI="#X509-7d8095956ec748ef82f0b6fc778b2c114" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" /></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security><wsa:Action>http://wcf.dian.colombia/IWcfDianCustomerServices/SendTestSetAsync</wsa:Action><wsa:To wsu:Id="id-7d8095956ec748ef82f0b6fc778b2c114" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">https://vpfe-hab.dian.gov.co/WcfDianCustomerServices.svc</wsa:To></soap:Header><soap:Body><wcf:SendTestSetAsync><wcf:fileName>{2}</wcf:fileName><wcf:contentFile>{3}</wcf:contentFile><wcf:testSetId>{4}</wcf:testSetId></wcf:SendTestSetAsync></soap:Body></soap:Envelope>

Ayuda por favor


por
Hola, no se si estoy a tiempo pero al parecer el valor 7d8095956ec748ef82f0b6fc778b2c114 esta haciendo referencia 4 veces, mira esa referencia en lo que envia en soap quizás ahi esta la respuesta que buscas...Saludos!
por
Muchas gracias por tu ayuda, pero la verdad no me funciono, entonces cambie toda la programacion y utilice la referencia y ya con eso funciono.
por
por
Hola, utilizaste alguna librería para consumir el SOAP?

2 Respuestas

0 votos
por
Si estás desarrollando en .NET, puedo ayudarte. Tenía el mismo problema y después de mucho sufrir una amigo experto JAVA me ayudó y logré quitar el error. Lo paradójico es que, él no ha podido solucionar el mismo problema en JAVA.

Ay Dios.
Espero leer tu respuesta.
por
Muchas gracias ya lo resolvi, agregando la referencia web y fue mas facil
por
Me podrías ayudar con el test soapui? hago todo lo de la guía y sale que a ocurrido un error en la seguridad del mensaje.. no se que es?
por
Hola, buenas tardes, soy de uruguay y estoy teniendo problemas con el envop de informacion mediante .net.

me podrás ayudar ?

Gracias
por
Hola.  Estoy desarrollando esto en .net y tengo problemas para generar el SOAP firmado. Podr'ias ayudarme por favor?
0 votos
por
Amigo solo puedo decirte que te apegues al protocolo SOAP y como debug used SoapUI, envia una factura y veras que funciona. Asi mismo en SoapUI mira la opcion RAW, te servira para constatar y comparar tu request de tu app.
...