Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-03-2017
jlegido jlegido is offline
Miembro
NULL
 
Registrado: feb 2017
Posts: 17
Poder: 0
jlegido Va por buen camino
Cita:
Empezado por javi_valencia44 Ver Mensaje
Tengo el mismo problema...
Hola javi_valencia44 y paquimd,

Ambos teneis el mismo problema que es que al Deserializar. Deserializar(es decir convertir un xml –en esencia un string – a un Objeto) os da errores.

Por ejemplo, hecho en codigo VB. Cargo un archivo llamado alta_factura.xml que he generado
Código:
      Dim filename As String = "G:\alta_factura.xml"  
      Dim reader As FileStream = New FileStream(filename, FileMode.Open)
      Dim ser As System.Xml.Serialization.XmlSerializer
      Dim facturas As New SuministroLRFacturasEmitidas
      ser = New System.Xml.Serialization.XmlSerializer(facturas.GetType())
      facturas = CType(ser.Deserialize(reader), SuministroLRFacturasEmitidas)
esto me dara error al serializarlo, ¿Por qué?: porque el nodo raiz de alta_factura.xml es
Código:
<soapenv:Envelope xmlns:soapenv="*://schemas.xmlsoap.org/soap/envelope/" xmlns:siiLR="*://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd" xmlns:sii="https://*.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
Pero el nodo raiz que admite un objeto tipo SuministroLRFacturasEmitidas es <siiLR:SuministroLRFacturasEmitidas>. Es decir que si generamos el xml por otros metodos distintos del uso de Objetos, no debemos poner ese primer nodo, si despues lo queremos enviar a AEAT de la forma
Código:
      Dim resul As RespuestaLRFEmitidasType
      resul = proxy.SuministroLRFacturasEmitidas(facturas)
Espero sea de ayuda

P.D. donde pongo * me refiero a un enlace (No tengo permiso para poner enlaces de forma normal)
Responder Con Cita
  #2  
Antiguo 02-03-2017
javi_valencia44 javi_valencia44 is offline
Miembro
 
Registrado: mar 2017
Posts: 50
Poder: 8
javi_valencia44 Va por buen camino
Cita:
Empezado por jlegido Ver Mensaje
Hola javi_valencia44 y paquimd,

Ambos teneis el mismo problema que es que al Deserializar. Deserializar(es decir convertir un xml –en esencia un string – a un Objeto) os da errores.

Por ejemplo, hecho en codigo VB. Cargo un archivo llamado alta_factura.xml que he generado
Código:
      Dim filename As String = "G:\alta_factura.xml"  
      Dim reader As FileStream = New FileStream(filename, FileMode.Open)
      Dim ser As System.Xml.Serialization.XmlSerializer
      Dim facturas As New SuministroLRFacturasEmitidas
      ser = New System.Xml.Serialization.XmlSerializer(facturas.GetType())
      facturas = CType(ser.Deserialize(reader), SuministroLRFacturasEmitidas)
esto me dara error al serializarlo, ¿Por qué?: porque el nodo raiz de alta_factura.xml es
Código:
<soapenv:Envelope xmlns:soapenv="*://schemas.xmlsoap.org/soap/envelope/" xmlns:siiLR="*://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd" xmlns:sii="https://*.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
Pero el nodo raiz que admite un objeto tipo SuministroLRFacturasEmitidas es <siiLR:SuministroLRFacturasEmitidas>. Es decir que si generamos el xml por otros metodos distintos del uso de Objetos, no debemos poner ese primer nodo, si despues lo queremos enviar a AEAT de la forma
Código:
      Dim resul As RespuestaLRFEmitidasType
      resul = proxy.SuministroLRFacturasEmitidas(facturas)
Espero sea de ayuda

P.D. donde pongo * me refiero a un enlace (No tengo permiso para poner enlaces de forma normal)
Poniéndolo así da el error:

'siiLR' es un prefijo no declarado
Responder Con Cita
  #3  
Antiguo 03-03-2017
paquimd paquimd is offline
Miembro
 
Registrado: feb 2017
Posts: 15
Poder: 0
paquimd Va por buen camino
Cita:
Empezado por javi_valencia44 Ver Mensaje
Poniéndolo así da el error:

'siiLR' es un prefijo no declarado
A mi me ocurría lo mismo. Para que te deserialice tienes que quitar todos los prefijos Sii: del xml, dejarlo así:


Código:
<SuministroLRFacturasEmitidas>
            <Cabecera>
                <IDVersionSii>0.5</IDVersionSii>
                <Titular>
Yo ya lo he conseguido, pero el problema ahora es que me genera un objeto vacío, que lógicamente me da errores al intentar subirlo. Creo que me he saltado un paso, pero ¿cuál?


Gracias de antemano a todos.
Responder Con Cita
  #4  
Antiguo 03-03-2017
javi_valencia44 javi_valencia44 is offline
Miembro
 
Registrado: mar 2017
Posts: 50
Poder: 8
javi_valencia44 Va por buen camino
Cita:
Empezado por paquimd Ver Mensaje
A mi me ocurría lo mismo. Para que te deserialice tienes que quitar todos los prefijos Sii: del xml, dejarlo así:


Código:
<SuministroLRFacturasEmitidas>
            <Cabecera>
                <IDVersionSii>0.5</IDVersionSii>
                <Titular>
Yo ya lo he conseguido, pero el problema ahora es que me genera un objeto vacío, que lógicamente me da errores al intentar subirlo. Creo que me he saltado un paso, pero ¿cuál?


Gracias de antemano a todos.
Haciendo eso me dice:

El XML no cumple el esquema. Falta informar campo obligatorio.: Cabecera

Responder Con Cita
  #5  
Antiguo 03-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 8
CMB Va por buen camino
Cita:
Empezado por javi_valencia44 Ver Mensaje
Haciendo eso me dice:
El XML no cumple el esquema. Falta informar campo obligatorio.: Cabecera
El webservice espera recibir esto, tal cual:

Código:
        <siiLR:SuministroLRFacturasEmitidas>
            <sii:Cabecera>
                <sii:IDVersionSii>0.5</sii:IDVersionSii>
                <sii:Titular>
Responder Con Cita
  #6  
Antiguo 03-03-2017
javi_valencia44 javi_valencia44 is offline
Miembro
 
Registrado: mar 2017
Posts: 50
Poder: 8
javi_valencia44 Va por buen camino
Cita:
Empezado por CMB Ver Mensaje
El webservice espera recibir esto, tal cual:

Código:
        <siiLR:SuministroLRFacturasEmitidas>
            <sii:Cabecera>
                <sii:IDVersionSii>0.5</sii:IDVersionSii>
                <sii:Titular>
Poniéndolo así me dice que no están declarados los prefijos siiLR y sii

Los estoy importando pero ni por esas:

Imports <xmlns:siiLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">
Imports <xmlns:sii="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
Responder Con Cita
  #7  
Antiguo 03-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 8
CMB Va por buen camino
Cita:
Empezado por javi_valencia44 Ver Mensaje
Poniéndolo así me dice que no están declarados los prefijos siiLR y sii
Los estoy importando pero ni por esas:
Imports <xmlns:siiLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">
Imports <xmlns:sii="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
Yo estoy mandando el XML ya hecho, con los namespaces, y me los ha aceptado docenas de veces. Ahora mismo lo he probado de nuevo con uno de ellos y recibo sin problemas la respuesta.
Responder Con Cita
Respuesta



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 4170 Hace 1 Semana 17:29:05
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 09:57:27.


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