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 Preguntas Tecnicas
Hola, estoy tratando de enviar el mensaje SOAP firmado con el mismo certificado con el que se firman las facturas, pero el WebService de la DIAN genera un error, estoy trabajando en JAVA, realiza la prueba en SoapUI y me genera el mismo error, estos son los datos:

Mensaje SOAP:

<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-92b840b5595e87435d1045c2bdcd30a1">

<wsu:Created>2020-01-30T11:45:29.890Z</wsu:Created>

<wsu:Expires>2020-01-31T13:25:29.891Z</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-92b840b5595e87435d1045c2bdcd30a1">

MIIIaTCCBlGgAwIBAgIIWBJmW0+yUkMwDQYJKoZIhvcNAQELBQAwgbQxIzAhBgkqhkiG9w0BCQEWFGluZm9...

9wDfnx/qt+1PIGGZX2juODexnVAbMUMbnHRbXumReJhMhIEemb/ZWC

</wsse:BinarySecurityToken>

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-92b840b5595e87435d1045c2bdcd30a1">

<ds:SignedInfo>

<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">

<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="wsa soap wcf"/>

</ds:CanonicalizationMethod>

<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>

<ds:Reference URI="#ID-92b840b5595e87435d1045c2bdcd30a1">

<ds:Transforms>

<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">

<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="soap wcf"/>

</ds:Transform>

</ds:Transforms>

<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>

<ds:DigestValue>Ur9arhfsTNEy41wPQ1UKsfY3qKuUiCzRQdybCSflMto=</ds:DigestValue>

</ds:Reference>

</ds:SignedInfo>

<ds:SignatureValue>

n7PsYhynrK5z2TAMJkZKURNyCg/rrYH+So/3YAP5nwVkgYTYy1Kuxsz0ECfNvAgbNIUqeifXBw4F 2PpEi3qw9Odt8SYiD7UUtRdhvAhU2AcwQgJgwZe4s/N5gbQzcM/JnHR9rUPYaSl9BF9JbiNtvenI Yy85KlWUAR46DAnEETIdhL0JTZm03l+zU7l9tPP3oWkH107rM1B9N7lkm2pxXBRwKjfwy6AtvlEq iV2leGs7jsqtIqtjaRhuIPIeEQnkd1FUFmbjbZgES4qGeLtELkfxI/huFuuPT27dCaobq0g+3Nlp 3bfnLIMo66C7S8O0ts4DdaSHE3ob4olbsEEYKg==

</ds:SignatureValue>

<ds:KeyInfo Id="KI-92b840b5595e87435d1045c2bdcd30a1">

<wsse:SecurityTokenReference wsu:Id="STR-92b840b5595e87435d1045c2bdcd30a1">

<wsse:Reference URI="#X509-92b840b5595e87435d1045c2bdcd30a1" 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/GetStatus

</wsa:Action>

<wsa:To xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="ID-92b840b5595e87435d1045c2bdcd30a1">

https://vpfe-hab.dian.gov.co/WcfDianCustomerServices.svc

</wsa:To>

</soap:Header>

<soap:Body>

<wcf:GetStatus>

<wcf:trackId>123456666</wcf:trackId>

</wcf:GetStatus>

</soap:Body>

</soap:Envelope>

Respuesta:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">

<s:Header>

<a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action>

</s:Header>

<s:Body>

<s:Fault>

<s:Code>

<s:Value>s:Sender</s:Value>

<s:Subcode>

<s:Value xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:InvalidSecurity</s:Value>

</s:Subcode>

</s:Code>

<s:Reason>

<s:Text xml:lang="en-US">

An error occurred when verifying security for the message.

</s:Text>

</s:Reason>

</s:Fault>

</s:Body>

</s:Envelope>

Alguien sabe por que el WebService de al DIAN genera este error?

El anexo técnico hable en comunicación de esto:

"El medio físico de comunicación es Internet, con la utilización del protocolo TLS versión 1.2, con autentificación mutua través de certificados digitales.

Alguien sabe a que se refiere, y como se configura en JAVA?

1 Respuesta

0 votos
por
Hola,

Para poder entender si la estructura de tu SOAP está correcto, puedes compararlo con el SOAP que se genera cuando haces el envío por SOAPUI. A mi me ayudo mucho porque tienes tu SOAP y el del SOAPIU.

Es un método primitivo, pero puedes comparar linea por linea dado que el SOAP del SOAPUI es el correcto.
por
editado
Buen dia a mi me ocurre lo mismo, pero ya compare el SOAP generado por el programa SOAPUI con el SOAP que genera mi aplicacion, estan igualitos, la verdad no se que es, sospecho que es la firma.
por
Buen día

En el SOAPUI funciona todo, pero cuando lo llego al aplicativo, me dice que la firma no esta autorizada.


será que por cada petición se debe generar una ds:Signature, estaré atento a su respuestas
por
Buen día, si señor en cada petición yo genero un ds:signature
por
Le comento que hice un análisis de línea a línea y todo esta igual.

La una diferencia es ds:digestvaslue y ds:signatura son los que son diferentes.
Los que generó con respecto soapUI.

La pregunta es:

1. Que nodos xlm debo tener para calcular digetvalue. Porque yo lo estoy generando con todo el documento incluyendo el certificado.

2.  Y el nodo de ds:signedinfo para generar la clave ds:siaturevalues.

La verdad no se cuales son los nodos para generar que salga igual.

Dian Colombia

Quedo atento a una positiva respuesta
por
Que lenguaje de programación estas usando, a mi me funciono en c#, el cual tiene unas clases para envio a la DIAN, la firma la realice con una dll que descargue de google
...