Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-03-2017
robinsondemantu robinsondemantu is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 10
Poder: 0
robinsondemantu Va por buen camino
Pon el código que utilizas para hacer la llamada y lo vemos. ¿Te funcionaba antes?
Responder Con Cita
  #2  
Antiguo 17-03-2017
robinsondemantu robinsondemantu is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 10
Poder: 0
robinsondemantu Va por buen camino
Versión 0.6

Buenos días:

Ayer cambié a la versión 0.6 tras estar funcionando correctamente la anterior, y ahora ha empezado a darme este error.

El tipo de contenido text/xml;charset=ISO-8859-1 del mensaje de respuesta no coincide con el tipo de contenido del enlace (text/xml; charset=utf-8). Si usa un codificador personalizado, asegúrese de que el método IsContentTypeSupported se implemente correctamente. Los primeros 767 bytes de la respuesta fueron: '<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="xxxxxxx"><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>Codigo[103].nif no identificado: 05404528B</faultstring><detail><callstack>nif no identificado: XXXXXXXXX
es.aeat.adht.jdit.api.infra.InfraestructuraExcepcion: nif no identificado: XXXXXXXXX
at es.aeat.adht.jdit.imp.iden.IdentificaSrvImpl.validarCertificado(IdentificaSrvImpl.java:545)
at es.aeat.adht.jdit.imp.iden.IdentificaSrvImpl.cargaSSL(IdentificaSrvImpl.java:133)
at es.aeat.adht.jdit.imp.iden.IdentificaSrvImpl.identificaCertificado(IdentificaSrvImpl.java:284)
at es.aeat.adht.jdit.imp.iden.IdenWLPSrvImpl.cargarCertificado(IdenWLPSrvImpl.java:44)
at es.aeat.adht.jdit.imp.infra.In'.

Le ha ocurrido a alguien más?

Gracias.
Responder Con Cita
  #3  
Antiguo 17-03-2017
robinsondemantu robinsondemantu is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 10
Poder: 0
robinsondemantu Va por buen camino
Versión 0.6
Buenos días:

Ayer cambié a la versión 0.6 tras estar funcionando correctamente la anterior, y ahora ha empezado a darme este error.

El tipo de contenido text/xml;charset=ISO-8859-1 del mensaje de respuesta no coincide con el tipo de contenido del enlace (text/xml; charset=utf-8). Si usa un codificador personalizado, asegúrese de que el método IsContentTypeSupported se implemente correctamente. Los primeros 767 bytes de la respuesta fueron: '<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="xxxxxxx"><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>Codigo[103].nif no identificado: 05404528B</faultstring><detail><callstack>nif no identificado: XXXXXXXXX
es.aeat.adht.jdit.api.infra.InfraestructuraExcepcion: nif no identificado: XXXXXXXXX
at es.aeat.adht.jdit.imp.iden.IdentificaSrvImpl.validarCertificado(IdentificaSrvImpl.java:545)
at es.aeat.adht.jdit.imp.iden.IdentificaSrvImpl.cargaSSL(IdentificaSrvImpl.java:133)
at es.aeat.adht.jdit.imp.iden.IdentificaSrvImpl.identificaCertificado(IdentificaSrvImpl.java:284)
at es.aeat.adht.jdit.imp.iden.IdenWLPSrvImpl.cargarCertificado(IdenWLPSrvImpl.java:44)
at es.aeat.adht.jdit.imp.infra.In'.

Le ha ocurrido a alguien más?

Gracias.

--------------------
Nada, ya da igual. Me ha funcionado otra vez sin tocar nada. Ha debido ser algo de ellos.
Responder Con Cita
  #4  
Antiguo 17-03-2017
angelhorse angelhorse is offline
Registrado
NULL
 
Registrado: feb 2017
Posts: 5
Poder: 0
angelhorse Va por buen camino
Cita:
Empezado por robinsondemantu Ver Mensaje
Pon el código que utilizas para hacer la llamada y lo vemos. ¿Te funcionaba antes?

/*
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certCollection = store.Certificates.Find(X509FindType.FindBySubjectName, "tecnologica", false);
foreach (var item in certCollection)
{
Debug.Print("Item: " + item.SubjectName.Name);
}
X509Certificate2 cert = certCollection[0];
*/

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(connectionString_HACIENDA);
request.ContentType = "text/xml";
request.Method = "POST";

request.Credentials = CredentialCache.DefaultCredentials;
if (CERTIFICADO != null)
{
request.ClientCertificates.Add(CERTIFICADO);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(root.ToString());

request.ContentLength = bytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();


using (HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse())
{
using (Stream responseStream = webResponse.GetResponseStream())
{
using (StreamReader responseStreamReader = new StreamReader(responseStream, true))
{
response = responseStreamReader.ReadToEnd();
responseStreamReader.Close();
}
responseStream.Close();
}
webResponse.Close();
}


Debug.Print("Respuesta: " + response);

}

Antes si me funcionaba. Antes cogía el certificado a "pelo" que es el código que está comentado al principio.
Después lo cambié por algo más visual para que el usuario escogiese el certificado, pero el funcionamiento es idéntico.
Responder Con Cita
  #5  
Antiguo 17-03-2017
robinsondemantu robinsondemantu is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 10
Poder: 0
robinsondemantu Va por buen camino
Y te da el mismo error si descomentas lo de arriba y lo hacías como antes?
Responder Con Cita
  #6  
Antiguo 17-03-2017
luisgb luisgb is offline
Registrado
NULL
 
Registrado: feb 2017
Posts: 1
Poder: 0
luisgb Va por buen camino
Hola. Yo lo intenté hacer con Delphi 7 primero, pero tuve muchos problemas con los WDSL. Incluso importándolos con XE no pude utilizarlos en Delphi 7 por que seguía dando problemas al serializar. Todo lo demás funcionaba bien, SOAP, certificado, etc., pero no conseguí que serializara bien, así que me tuve que pasar a XE2.
Responder Con Cita
  #7  
Antiguo 17-03-2017
jonortsal jonortsal is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 10
Poder: 0
jonortsal Va por buen camino
¿Sabeís como puedo modificar este código que en principio me funciona para las facturas emitidas?
Quiero dos cosas:
1. Capturar el SOAP Request que envío y el Soap Response que recibo
2. Poder seleccionar un certificado de los disponibles. Ya que somos un grupo de empresas.

He utilizado el código VB.NET que comentaba el compañero poniendo el fichero xml en la carpeta y ya no me genera ningún error, pero no recibo respuesta. ¿Existe alguna forma de ver el mensaje SOAP de respuesta?


Dim store As Security.Cryptography.X509Certificates.X509Store = New Security.Cryptography.X509Certificates.X509Store(StoreName.My, StoreLocation.CurrentUser)
store.Open(Security.Cryptography.X509Certificates.OpenFlags.ReadOnly)

Dim CertificadoCorrecto As New System.Security.Cryptography.X509Certificates.X509Certificate2

' search store
' Dim col As New X509Certificate2Collection

'col = store.Certificates.Find(X509FindType.FindByIssuerName, "FNMT", True)




Dim ListCert As String = ""


For Each x In store.Certificates
MsgBox(x.Subject)

Next
Respuesta2RichTextBox.Text = ListCert

CertificadoCorrecto = store.Certificates(0) '(5)

' Objeto que almacenara la respuesta de la funcion del Web Service
Dim resp As New ServiceReference1.RespuestaLRFEmitidasType

' Ws
Dim Ws As New ServiceReference1.siiSOAPClient

Ws.ClientCredentials.ClientCertificate.Certificate = CertificadoCorrecto
Ws.ClientCredentials.UseIdentityConfiguration = True

' Asignamos el certificado:
Ws.ClientCredentials.ClientCertificate.Certificate = CertificadoCorrecto
' ----------------------------------------------------------------------------------------


' ----------------------------------------------------------------------------------------
Dim _SuministroLRFacturasEmitidas As New SuministroLRFacturasEmitidas
'--------------------------------------------------------------------------

Try

Dim x As New XmlSerializer(_SuministroLRFacturasEmitidas.GetType, "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd")

' A FileStream is needed to read the XML document.
Dim filename As String = "facturaEmitidaMODEL.XML"


Using reader As New FileStream(filename, FileMode.Open)
_SuministroLRFacturasEmitidas = CType(x.Deserialize(reader), SuministroLRFacturasEmitidas)
End Using

' SI QUEREMOS SOBREESCRIBIR EL XML ANTES DE ENVIAR:
' SOBREESCRIBIMOS DATS FORM ANTES SEND:
_SuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon = Trim(TextBoxRazonSocialEmisor.Text)
_SuministroLRFacturasEmitidas.Cabecera.Titular.NIF = Trim(TextBoxNIFEmisor.Text)

'(...)

'// se hace la llamada a la funcion suministrada por el WS
resp = Ws.SuministroLRFacturasEmitidas(_SuministroLRFacturasEmitidas)



Catch ex As Exception
MsgBox(ex.Message)
' Respuesta2RichTextBox = ex.Message
Finally
'Me.Cursor = Cursors.Default
'Threading.Thread.Sleep(5000)
'ProgressBar1.Style = ProgressBarStyle.Continuous
''ProgressBar1.Value = ProgressBar1.Maximum
End Try
Responder Con Cita
  #8  
Antiguo 17-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 10
CMB Va por buen camino
Factura simplificada, ¿qué NIF y qué nombre fiscal?

He buscado por todo el hilo y creo que este tema no se ha tratado todavía.

Con las facturas simplificadas ya sabemos que el tag TipoFactura tiene que ser F2. Pero cuando se emiten tiques, en la gran mayoría de los casos el vendedor no tiene constancia del NIF ni del nombre fiscal del cliente. Por ejemplo, en una ferretería o en una frutería.

Entonces, al enviar una petición al webservice que contiene ese tipo de facturas, ¿que hay que poner en los tags NombreRazon y NIF? ¿Se pueden dejar en blanco? No he sabido encontrar la respuesta en el documento SII_Descripcion_ServicioWeb_v0.6.pdf, si es que la hay.

¿Alguien tiene idea de ello?

Saludos,

Última edición por CMB fecha: 17-03-2017 a las 11:22:58. Razón: Error sintáctico
Responder Con Cita
  #9  
Antiguo 17-03-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 20
Nasca Va por buen camino
Cita:
Empezado por CMB Ver Mensaje
He buscado por todo el hilo y creo que este tema no se ha tratado todavía.
Con las facturas simplificadas ya sabemos que el tag TipoFactura tiene que ser F2. Pero cuando se emiten tiques, en la gran mayoría de los casos el vendedor no tiene constancia del NIF ni del nombre fiscal del cliente. Por ejemplo, en una ferretería o en una frutería.
Entonces, al enviar una petición al webservice que contiene ese tipo de facturas, ¿que hay que poner en los tags NombreRazon y NIF? ¿Se pueden dejar en blanco? No he sabido encontrar la respuesta en el documento SII_Descripcion_ServicioWeb_v0.6.pdf, si es que la hay.
Saludos,
Directamente no envíes la sección Contraparte. Es decir no envíes nada.

Sin embargo, si envías contenido se valida y es aceptado.

Si lo envías en blanco sale un bonito= "Valor o tipo incorrecto del campo: NombreRazon"

Conclusión, no envíes Contraparte y no des mas información de la estrictamente necesaria.
Responder Con Cita
  #10  
Antiguo 17-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 10
CMB Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
Directamente no envíes la sección Contraparte. Es decir no envíes nada.
Sin embargo, si envías contenido se valida y es aceptado.
Si lo envías en blanco sale un bonito= "Valor o tipo incorrecto del campo: NombreRazon"
Conclusión, no envíes Contraparte y no des mas información de la estrictamente necesaria.
Tienes razón, el ejemplo carece del tag Contraparte.

Aclarado. Muchas gracias, Nasca.
Responder Con Cita
  #11  
Antiguo 17-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 10
CMB Va por buen camino
Cita:
Empezado por CMB Ver Mensaje
He buscado por todo el hilo y creo que este tema no se ha tratado todavía.
Con las facturas simplificadas ya sabemos que el tag TipoFactura tiene que ser F2. Pero cuando se emiten tiques, en la gran mayoría de los casos el vendedor no tiene constancia del NIF ni del nombre fiscal del cliente. Por ejemplo, en una ferretería o en una frutería.
Entonces, al enviar una petición al webservice que contiene ese tipo de facturas, ¿que hay que poner en los tags NombreRazon y NIF? ¿Se pueden dejar en blanco? No he sabido encontrar la respuesta en el documento SII_Descripcion_ServicioWeb_v0.6.pdf, si es que la hay.
¿Alguien tiene idea de ello?
Saludos,
Ya veo en el ejemplo de SII_Descripcion_ServicioWeb_v0.6.pdf que esos dos tags no se incluyen, quizás no son obligatorios en ese caso. Tiene su lógica. Ya veremos si al enviar el XML genera algún error.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco keys Internet 4524 Hace 4 Días 16:17:40
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 20:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 11:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 20:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 15:49:20


La franja horaria es GMT +2. Ahora son las 16:39:23.


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