![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
Para importar el wsdl en visual basic studio -Proyecto -Agregar referencia de servicio - botón avanzadas - botón agregar referencia web -en direccion = SistemaFacturacion.wsdl -botón flechita - cambiar el nombre de la clase si queréis yo puse MiSFI -y agregar referencia También esta la opción con el comando xsd de generar las clases.vb con los ficheros xsd, pero esto no es necesario si se importo el wsdl. Aqui te pongo como estoy haciendo para generar el xml , este codigo funciona hasta el cierre de la cabecera. Código:
Dim altaFactuSistemaFacturacion As New AltaFactuSistemaFacturacion
'Cabecera
Dim cabecera As New MiSFI.Cabecera
Dim obligadoEmision As New MiSFI.PersonaFisicaJuridicaESType
Dim tipoRegistroAEAT As New MiSFI.TipoRegistroAEATType
'/Cabecera
Dim registroAltaFacturas As New MiSFI.FacturasEmitidasType
Dim RegistroFacturacion(2) As MiSFI.RegistroFacturacionType
Dim datosControl As New MiSFI.DatosControlType
'idFactura
Dim idFactura As New MiSFI.IDFacturaExpedidaType 'MiSFI.IDFacturaARType
Dim idEmisorFactura As New MiSFI.IDFacturaExpedidaTypeIDEmisorFactura
'/idFactura
Dim Destinatarios As New MiSFI.PersonaFisicaJuridicaType
Dim idDestinatario As New MiSFI.PersonaFisicaJuridicaESType
Dim detalleDesglose As New MiSFI.DetalleType ' DetalleDesglose
Dim encadenamientoRegistroAnterior As New MiSFI.EncadenamientoFacturaAnteriorType '.EncadenamientoRegistroAnterior
Dim idEmisorFacturaRegistroAnterior As New MiSFI.EncadenamientoFacturaAnteriorTypeIDEmisorFacturaRegistroAnterior '.IDEmisorFacturaRegistroAnterior
Dim sistemaInformatico As New MiSFI.SistemaInformaticoType
'Cabecera
cabecera.IDVersion = MiSFI.VersionType.Item10 '"1.0"
obligadoEmision.NombreRazon = "XXXXX"
obligadoEmision.NIF = "XXXXX"
tipoRegistroAEAT = MiSFI.TipoRegistroAEATType.T0 ' "T0"
cabecera.ObligadoEmision = obligadoEmision
cabecera.TipoRegistroAEAT = tipoRegistroAEAT
'/Cabecera
'RegistroAltaFacturas
'RegistroFacturacion
'IDFactura
idEmisorFactura.NIF = "XXXXX"
idFactura.NumSerieFacturaEmisor = "12345"
idFactura.FechaExpedicionFacturaEmisor = "13-11-2023"
idFactura.IDEmisorFactura = idEmisorFactura
'/IDfactura
'Estas dan error
'RegistroFacturacion(0).IDFactura = idFactura
'RegistroFacturacion(0).NombreRazonEmisor = "certificado uno telematicas"
'RegistroFacturacion(0).TipoRegistroSIF = MiSFI.TipoRegistroSIFType.S0 ' "S0"
'RegistroFacturacion(0).TipoFactura = MiSFI.ClaveTipoFacturaType.F1 '"F1"
'RegistroFacturacion(0).DescripcionOperacion = "Descripc"
idDestinatario.NombreRazon = "XXXXX"
idDestinatario.NIF = "XXXXX"
datosControl.Huella = "Huella"
datosControl.TipoHash = "01"
registroAltaFacturas.RegistroFacturacion = RegistroFacturacion(0)
registroAltaFacturas.DatosControl = datosControl
altaFactuSistemaFacturacion.Cabecera = cabecera
'esta da error
'altaFactuSistemaFacturacion.RegistroAltaFacturas = registroAltaFacturas
Dim ns As New XmlSerializerNamespaces()
ns.Add("soapenv", ".......")
ns.Add("sum", "........SuministroLR.xsd")
ns.Add("sum1", ".......SuministroInformacion.xsd")
'serializamos
Dim serializer As New XmlSerializer(GetType(MiSFI.AltaFactuSistemaFacturacion))
Using writer As New StreamWriter("C:\xml\archivo.xml")
serializer.Serialize(writer, altaFactuSistemaFacturacion, ns)
End Using
Cita:
|
|
#2
|
|||
|
|||
|
Cita:
Código:
var
regFactura : FacturasEmitidasType;
result : Array_Of_RespuestaExpedidaType;
arrayFacturasS : Array_Of_FacturasEmitidasType;
begin
regFactura := FacturasEmitidasType.Create;
regFactura.RegistroFacturacion := RegistroFacturacionType.Create;
...
regFactura.RegistroFacturacion.IDFactura := IDFacturaExpedidaType.Create;
regFactura.RegistroFacturacion.IDFactura.NumSerieFacturaEmisor := '23/123456';
....
try
SetLength(arrayFacturas, 1);
arrayFacturas[0] := regFactura;
result := GetsfSOAP(true, '', HTTPRIO1).AltaFactuSistemaFacturacion(ArrayFacturas);
finally
regFactura.Destroy;
end;
|
|
#3
|
|||
|
|||
|
ya lo conseguí.
Código:
<AltaFactuSistemaFacturacion xmlns:soapenv="......./envelope/" xmlns:sum="............/SuministroLR.xsd" xmlns:sum1="...................................../SuministroInformacion.xsd"> <sum1:Cabecera> <sum1:IDVersion>1.0</sum1:IDVersion> <sum1:ObligadoEmision> <sum1:NombreRazon>XXXXX</sum1:NombreRazon> <sum1:NIF>XXXXX</sum1:NIF> </sum1:ObligadoEmision> <sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT> </sum1:Cabecera> <sum:RegistroAltaFacturas> <sum:RegistroFacturacion> <sum1:IDFactura> <sum1:IDEmisorFactura> <sum1:NIF>XXXXX</sum1:NIF> </sum1:IDEmisorFactura> <sum1:NumSerieFacturaEmisor>12345</sum1:NumSerieFacturaEmisor> <sum1:FechaExpedicionFacturaEmisor>13-11-2023</sum1:FechaExpedicionFacturaEmisor> </sum1:IDFactura> <sum1:NombreRazonEmisor>certificado uno telematicas</sum1:NombreRazonEmisor> <sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF> <sum1:TipoFactura>F1</sum1:TipoFactura> <sum1:DescripcionOperacion>Descripc</sum1:DescripcionOperacion> <sum1:HusoHorarioGenRegistro>01</sum1:HusoHorarioGenRegistro> </sum:RegistroFacturacion> <sum:DatosControl> <sum1:Huella>Huella</sum1:Huella> <sum1:TipoHash>01</sum1:TipoHash> </sum:DatosControl> </sum:RegistroAltaFacturas> </AltaFactuSistemaFacturacion> ahora voy a rellenar los demás campos. te lo intento pasar por privado que es un tocho |
|
#4
|
|||
|
|||
|
Recibido. Muchísimas gracias.
Estoy comparando y lo que tú me mandas tiene mucho más contenido que el que me ha generado a mi importándolo desde Delphi. No solo no encuentro la cabecera que en el tuyo si: Código:
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9037.0"), _
System.SerializableAttribute(), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Xml.Serialization.XmlTypeAttribute([Namespace]:="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion"& _
"es/es/aeat/tike/cont/ws/SuministroInformacion.xsd")> _
Partial Public Class Cabecera
Private iDVersionField As VersionType
Private obligadoEmisionField As PersonaFisicaJuridicaESType
Private tipoRegistroAEATField As TipoRegistroAEATType
Private fechaFinVeriFactuField As String
'''<remarks/>
Public Property IDVersion() As VersionType
Get
Return Me.iDVersionField
End Get
Set
Me.iDVersionField = value
End Set
End Property
'''<remarks/>
Public Property ObligadoEmision() As PersonaFisicaJuridicaESType
Get
Return Me.obligadoEmisionField
End Get
Set
Me.obligadoEmisionField = value
End Set
End Property
'''<remarks/>
Public Property TipoRegistroAEAT() As TipoRegistroAEATType
Get
Return Me.tipoRegistroAEATField
End Get
Set
Me.tipoRegistroAEATField = value
End Set
End Property
'''<remarks/>
Public Property FechaFinVeriFactu() As String
Get
Return Me.fechaFinVeriFactuField
End Get
Set
Me.fechaFinVeriFactuField = value
End Set
End Property
End Class
'''<remarks/>
Código:
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9037.0"), _
System.SerializableAttribute(), _
System.Xml.Serialization.XmlTypeAttribute([Namespace]:="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion"& _
"es/es/aeat/tike/cont/ws/SuministroInformacion.xsd")> _
Public Enum VersionType
'''<remarks/>
<System.Xml.Serialization.XmlEnumAttribute("1.0")> _
Item10
End Enum
'''<remarks/>
¿Podrías mandar el link del wsdl que estás importando a ver si es que no estoy cogiendo el correcto? ¿Es normal que el mismo wsdl al importarlo desde dos lenguajes diferentes se "coma" cosas? Un poco más abajo están las siguientes definiciones: Código:
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9037.0"), _
System.SerializableAttribute(), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true, [Namespace]:="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion"& _
"es/es/aeat/tike/cont/ws/SuministroLR.xsd")> _
Partial Public Class AltaFactuSistemaFacturacion
Inherits SistemaFacturacionAltaFact
Private registroAltaFacturasField() As FacturasEmitidasType
'''<remarks/>
<System.Xml.Serialization.XmlElementAttribute("RegistroAltaFacturas")> _
Public Property RegistroAltaFacturas() As FacturasEmitidasType()
Get
Return Me.registroAltaFacturasField
End Get
Set
Me.registroAltaFacturasField = value
End Set
End Property
End Class
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9037.0"), _
System.SerializableAttribute(), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Xml.Serialization.XmlTypeAttribute([Namespace]:="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion"& _
"es/es/aeat/tike/cont/ws/SuministroInformacion.xsd")> _
Partial Public Class SistemaFacturacionAltaFact
Private cabeceraField As Cabecera
'''<remarks/>
Public Property Cabecera() As Cabecera
Get
Return Me.cabeceraField
End Get
Set
Me.cabeceraField = value
End Set
End Property
End Class
'''<remarks/>
|
|
#5
|
|||
|
|||
|
Cita:
Última edición por Neftali [Germán.Estévez] fecha: 08-01-2024 a las 13:54:19. Razón: Añadir URL |
|
#6
|
|||
|
|||
|
Cita:
No entiendo nada. ¿Será por culpa de la ñapa esa que hacemos para que no de el error de las cadenas más largas de 255 caracteres? |
|
#7
|
||||
|
||||
|
Cita:
No creo que sea por eso. Ese error es de Delphi una vez importado, simplemente por cómo se ha formado el fichero (que está bien formado). Salvo que delphi no acepta esas cadenas largas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#8
|
||||
|
||||
|
Cita:
No molesta en absoluto. Aunque este es un foro principalmente sobre Delphi, caben mensajes de otros lenguajes, Y aunque hay foros específicos de cada lenguaje, en temas como este, LeyAntifraude (SII o TicketBAI) se permite publicar en textos y códigos en otros lenguajes de programación, porque "prima" el tema sobre el que va el hilo (LeyAntifraude).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 11:05:35 |
| Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 12:18:32 |
| Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 14:58:09 |
| Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 14:44:54 |
| Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 21:59:09 |
|