FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#201
|
|||
|
|||
Cita:
Saludos, |
#202
|
|||
|
|||
Gracias CMB. Estoy intendo hacerlo como mencionas para pasar el XML ya formado y me salta un error al deserializar:
"No se esperaba <Envelop xmlns='http..://schemas.xmlsoap.org/soap/envelope/>. Código:
Using reader As New FileStream(filename, FileMode.Open) _SuministroLRFacturasEmitidas = CType(x.Deserialize(reader), SuministroLRFacturasEmitidas) End Using |
#203
|
|||
|
|||
Cita:
Código:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:siiLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd" xmlns:sii="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"> |
#204
|
|||
|
|||
El nif del contraparte es lo que aparece como campo Item (factExpd.Contraparte.Item). Es lo que estoy usando yo y me deja enviar correctamente.
|
#205
|
|||
|
|||
Cita:
¿que es Crear un XML paso a paso?, te refieres a hacerlo de forma manual, es decir concatenado cadenas que contengan el header y los diferentes nodos -etiquetas y contenido - y despues guardarlo como archivo XML ? Si puede poner algun detalle o algo de codigo respecto a como lo haces seria fenomenal. Gracias |
#206
|
|||
|
|||
Hola angelhorse,
Yo tambien estoy haciendo este tema en VB.net (muy similar a c#), pero no consigo crear bien el archivo XML Parto de la base de que el archivo XML a generar debe seguir el modelo cuyo ejemplo hay en SII_Descripcion_ServicioWeb_v0.5_es_es.pdf en apartado 8.1.1.1.Ejemplo mensaje de XML de alta. Yo siguiendo las directrices de los compañeros de Delphi he adaptado su codigo (usando el ejemplo de seccion_31 que colgo WebServices AEAT Berlin_3.rar. Lo hago usando este codigo (solo pongo parte) Dim i As Long Dim ASuministroLRFacturasEmitidas As SuministroLRFacturasEmitidas Dim ARegistroLRFacturasEmitidas() As LRfacturasEmitidasType '=========================================================================== 'generacion info factura/s emitidas---------------------------------------------------------------- ASuministroLRFacturasEmitidas = New SuministroLRFacturasEmitidas() ASuministroLRFacturasEmitidas.Cabecera = New CabeceraSii() 'DATOS Cabecera-------------------------------------------------------------------------- ASuministroLRFacturasEmitidas.Cabecera.IDVersionSii = ClienteSII1.VersionSiiType.Item05 '0.5 version actual del SII ASuministroLRFacturasEmitidas.Cabecera.Titular = New PersonaFisicaJuridicaESType() 'Nombre del presentador ASuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon = "Empresa XXX" 'el NIF del presentador (DEBE COINCIDIR CON EL CERTIFICADO SELECCIONADO) ASuministroLRFacturasEmitidas.Cabecera.Titular.NIF = "A84532501" 'Tipo de comunicacion: ' A0 - ALTA ' A1- MODIFICACION ' A4- MODIFICACION REGIMEN VIAJEROS ASuministroLRFacturasEmitidas.Cabecera.TipoComunicacion = ClaveTipoComunicacionType.A0 Etc. etc. El problema es que no encuentro la forma de agregar la cabecera: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope .....> <soapenv:Header/> Ademas en las etiquetas no hay forma de ponerle el namespace sii o siiLR Que es imprescindible. La pregunta es por tanto ¿Estoy usando el metodo adecuado y hay pasos que desconozco ¿ o deberia generear el XML manualmente a base de ir concatenado trozos de cadena y despues guardarlo como archivo? ¿Cómo lo has hecho tu? Gracias de antemano por cualquier info que pueda dar luz al tema |
#207
|
|||
|
|||
Hola,
Me estreno en el foro, yo estoy desarrollando con VB/C# Os pego como lo hago yo para subir facturas emitidas, esta todo de prueba: Tengo un bucle For para simular la generación varias facturas, me conecto sin problema y recibo resultado de cada uno de los registros. Dim MensajeError As String = "" Dim MensajeAcierto As String = "" Dim sFactura As String = "" Dim sRutaCert As String = "" ' Dim Mails As New LNclsMail Dim decodedBytes As Byte() decodedBytes = Convert.FromBase64String(My.Settings.ClaveCertificado) Dim sClaveCert As String sClaveCert = Encoding.UTF8.GetString(decodedBytes) 'Obtener certificado desde fichero p12 sRutaCert = System.AppDomain.CurrentDomain.BaseDirectory() & My.Settings.NombreCertificado cert = New System.Security.Cryptography.X509Certificates.X509Certificate2(sRutaCert, sClaveCert) 'Se llama a la clase siiService, creada a partir del WS y cambiando el inherits por : Microsoft.Web.Services3.WebServicesClientProtocol Dim webserviceProxy As New siiFacturasEmitidas webserviceProxy.ClientCertificates.Add(cert) Dim signatureToken As X509SecurityToken = GetSecurityToken() Dim requestContext As SoapContext = webserviceProxy.RequestSoapContext requestContext.Security.Tokens.Add(signatureToken) Dim sig As New MessageSignature(signatureToken) requestContext.Security.Timestamp.TtlInSeconds = 60 requestContext.Security.Elements.Add(sig) Dim testC As New SuministroLRFacturasEmitidas Dim cab As New CabeceraSii Dim fac As New LRfacturasEmitidasType Dim resul As RespuestaLRFEmitidasType Dim perso As New PersonaFisicaJuridicaESType perso.NIF = "XXXXXXXXX" perso.NombreRazon = "Empresa de pruebas" cab.Titular = perso cab.TipoComunicacion = "0" testC.Cabecera = cab For i = 20 To 30 Dim fras As New LRfacturasEmitidasType Dim perio As New RegistroSiiPeriodoImpositivo perio.Ejercicio = 2015 perio.Periodo = "01" fras.PeriodoImpositivo = perio Dim idfra As New IDFacturaExpedidaType Dim empresa As New IDFacturaExpedidaTypeIDEmisorFactura Dim cver As New VersionSiiType cab.IDVersionSii = cver.Item05 empresa.NIF = "XXXXXXXXXXX" idfra.IDEmisorFactura = empresa idfra.NumSerieFacturaEmisor = i + 10 idfra.FechaExpedicionFacturaEmisor = "15-01-2015" fras.IDFactura = idfra Dim fraexp As New FacturaExpedidaType fraexp.TipoFactura = "1" fraexp.ClaveRegimenEspecialOTrascendencia = "01" fraexp.ImporteTotal = "26.70" fraexp.DescripcionOperacion = "Compra xxxxxxxxx" fras.FacturaExpedida = fraexp Dim persona As New PersonaFisicaJuridicaType persona.NombreRazon = "Empresa yyyyyyy" persona.NIFRepresentante = "94235500B" Dim contrap As New PersonaFisicaJuridicaType contrap = persona Dim sujeta As New SujetaType Dim sujetanoexenta As New SujetaTypeNoExenta Dim detalleiva As New DetalleIVAEmitidaType Dim tpdesglose As New TipoSinDesgloseType Dim desglose As New FacturaExpedidaTypeTipoDesglose sujetanoexenta.TipoNoExenta = sujetanoexenta.TipoNoExenta.S1 ReDim sujetanoexenta.DesgloseIVA(0) detalleiva.TipoImpositivo = "21" detalleiva.BaseImponible = "22.07" detalleiva.CuotaRepercutida = "4.63" detalleiva.TipoRecargoEquivalencia = 0 detalleiva.CuotaRecargoEquivalencia = 0 sujetanoexenta.DesgloseIVA(0) = detalleiva sujeta.NoExenta = sujetanoexenta tpdesglose.Sujeta = sujeta desglose.Item = tpdesglose fraexp.TipoDesglose = desglose Dim cfra As New LRConsultaEmitidasType Dim cfil As New LRFiltroEmitidasType Dim ccla As New IDFacturaExpedidaBCType Dim cempr As New IDFacturaExpedidaBCTypeIDEmisorFactura Dim ccab As New CabeceraConsultaSii Dim cper As New PersonaFisicaJuridicaUnicaESType Dim cperio As New RegistroSiiPeriodoImpositivo Dim cperio2 As New RegistroSiiPeriodoImpositivo ccla.FechaExpedicionFacturaEmisor = "15-01-2015" cempr.NIF = "XXXXXXXXX" ccla.IDEmisorFactura = cempr ccla.NumSerieFacturaEmisor = "1" cfil.ClavePaginacion = ccla cperio.Ejercicio = 2015 cperio2.Ejercicio = 2015 cperio2.Periodo = "01" cfil.PeriodoImpositivo = cperio2 cfra.FiltroConsulta = cfil cfra.FiltroConsulta.ClavePaginacion = ccla ReDim Preserve testC.RegistroLRFacturasEmitidas(i) testC.RegistroLRFacturasEmitidas(i) = fras Next i resul = webserviceProxy.SuministroLRFacturasEmitidas(testC) |
#208
|
||||
|
||||
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
Recuerda poner los tags al código fuente, ejemplo: Gracias
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#209
|
|||
|
|||
Cita:
Hola batuzail, Hay 3 formas de crear el xml a enviar a AEAT-SII: -forma1: mediante cadenas de texto concatenadas -forma2: usando XmlReader, XmlWriter y otras clases asociadas -forma3: usando las clases generadas al crear el proxy con wsdl.exe en .NET. Yo estoy trabajando en la forma 3 y mi codigo es muy parecido al tuyo (el tuyo es mas elegante y compacto), pero en ambos casos tenemos un problema sin resolver, que es poner el elemento raiz, o sea: <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="...://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"> Y ademas que todas las etiquetas tienen que llevar su espacio de nombres y su nombre, por ejemplo: <siiLR:SuministroLRFacturasEmitidas> <sii:Cabecera> <sii:IDVersionSii> Etc. Al menos según los ejemplos que pone Hacienda en el pdf “ SII_Descripcion_ServicioWeb_v0.5_es_es.pdf”, en el apartado 8.1.1.1.Ejemplo mensaje de XML de alta, por lo que entiendo que sera obligatorio Yo he cogido tu codigo y le he añadido antes de la ultima linea, las siguientes lineas para ver el xml generaro 'ANEXO/INCISO: Serializacion a XML 'forma 1: por Consola en Ventana Resultados el resultado aparece en la ventana Resultados y podras ver que no tiene la cabecera que piden, ni las etiquetas cumplen con el disñeo <espacioNombres:nombreEtiqueta> No se si lo que digo es correcto o no importa, aunque yo creo que si. Voy a seguir investigando, dentro de la forma 3 a ver si lo consigo. Si descubres algo, ya diras. Otra duda gorda: Yo tengo la clase siiService tal que asi ¿Por que? ¿cual es la utilidad o ventaja? Muchas gracias por tu aporte y tu info Última edición por jlegido fecha: 28-02-2017 a las 20:03:17. Razón: Por que han sido borrados dos partes del codigo |
#210
|
|||
|
|||
Hola jlegido,
A mi me funciona correctamente y envío los registros y recibo un csv válido y en caso de error recibo el error, también me funciona la consulta en caso de consultar una factura ya emitida. No se a que te refieres con añadir los datos de cabecera, puede que sea algo que al pasarlo a xml no hace. Sobre mi clase Código:
Partial Public Class siiService Inherits Microsoft.Web.Services3.WebServicesClientProtocol Saludos |
#211
|
|||
|
|||
Cita:
Hola batuzail, Ante todo muchas gracias por tu rapida respuesta, que creo me es de bastante utilidad y me quita un peso de encima. Yo me referia a que al enviar el contenido xml, este debe tener, antes de los nodos de datos, lo siguiente: Código:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="htp://schemas.xmlsoap.org/soap/envelope/" xmlns:siiLR="htps://ww2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd" xmlns:sii="htps://ww2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"> De todas formas, lo fundamental es QUE A TI, CON EL CODIGO QUE PUSISTE AQUÍ EN EL FORO, TE FUNCIONA PERFECTAMENTE, con lo cual doy por hecho: 1) Que tu solucion es buena (por que, ademas la has probado incluso con certificado) 2) Que esa cabecera a lo mejor no es necesaria, o al enviar el mensaje a la AEAT-SII se genera implicitamente Me queda tambien muy claro el uso de: Código:
Public Class siiService Inherits Microsoft.Web.Services3.WebServicesClientProtocol, Saludos |
#212
|
|||
|
|||
Cita:
Yo lo que intento es subir un xml ya generado que en teoría tiene el formato correcto. Mi problema es al deserializarlo para convertirlo en SuministroLRFacturasEmitidas. La conexión la hago con el certificado, ¿alguien ha subido el xml? Gracias |
#213
|
||||
|
||||
Hola a todos.
¿Alguien Tendría un xml de Pagos de ejemplo que se pueda enviar correctamente? Estoy atascado en los pagos, y no avanzo. Me esta volviendo loco con todo esto, y en la documentación no encuentro ningún ejemplo. Estoy pillando un asco hacia los programadores de la AEAT, que no veas. Gracias. |
#214
|
|||
|
|||
Tengo el mismo problema...
|
#215
|
||||
|
||||
Cita:
Un Saludo. |
#216
|
||||
|
||||
Cita:
Igual es esto l oque te esta pasando. |
#217
|
||||
|
||||
Cita:
No tenia ni idea de que existiera esto. Muchisimas gracias. Estoy flipando. |
#218
|
||||
|
||||
Hola a tod@s.
¿Cuando habláis de cobros/pagos son de facturas o de cobros/pagos en metálico superiores a 6000 euros? Porque creo que los cobros/pagos normales de facturas no hay que enviarlos. Saludos
__________________
Be water my friend. |
#219
|
||||
|
||||
Cita:
Pero aun asi, ni con el widzler, me funciona el xml de pagos, o estoy haciendo yo algo mal, que no creo, o el web service de pagos no va. Mis parametros son estos: defWSDL = 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroPagosRecibidas.wsdl'; defURL = 'http://schemas.xmlsoap.org/wsdl/'; defSvc = 'siiService'; defPrt = 'SuministroPagosRecibidasPruebas'; No me va ninguna de las 2 funciones, ni la de SuministroLRPagosRecibidas, ni la de ConsultaLRPagosRecibidas. Me dan Excepcion de java: java.lang.NoClassDefFoundError: es.aeat.burt.jdit.api.oracle.BurtOraSiinBean Si alguien me pudiera confirmar que le funciona, se lo agradecería. Saludos. Última edición por elcharlie fecha: 01-03-2017 a las 18:52:56. |
#220
|
|||
|
|||
Cita:
Las consultas en cambio me las hace sin problemas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco | keys | Internet | 4288 | Hace 1 Día 13:58:30 |
AEAT envio de datos vía Webservice problemas con WSDL | CelsoO | Internet | 11 | 09-10-2019 21:03:41 |
webService Soap de la Administración Digital Española notific@ | apicito | Internet | 3 | 31-01-2017 12:25:28 |
Error en Webservice funcion envio de sms | webmasterplc | Delphi para la web | 5 | 25-07-2013 21:10:29 |
Problemas con envío de XML a un WebService | davidvamo | Internet | 1 | 13-02-2007 16:49:20 |
|