Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Envío de registros y sus respuestas (https://www.clubdelphi.com/foros/forumdisplay.php?f=66)
-   -   Error después de actualizar el WSDL (https://www.clubdelphi.com/foros/showthread.php?t=97154)

newtron 07-01-2025 11:57:16

Error después de actualizar el WSDL
 
Hola a tod@s.


He actualizado el wsdl de verifactu y me da el siguiente error al hacer un envío:


Código SQL [-]
Codigo[1207].Se esperaba nodo {http://schemas.xmlsoap.org/soap/envelope/}Envelope y ha venido {http://www.w3.org/2003/05/soap-envelope}


He buscado en las unidades que se generan al importar el wsdl pero no encuentro la cadena http://www.w3.org... imagino que será algo que no tengo actualizado pero no doy con lo que es.



¿Alguien me puede decir por qué me pasa esto?


Gracias y un saludo.

delphiGar 07-01-2025 12:07:34

Seguramente es por que tienes esto en el wdsl importado.

1)Tendras, para el caso de envio inmediato:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioSoap12);
en vez de esto:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioLiteral);

2)Si es para envio por requerimiento tendras:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypePorRequerimiento), ioSoap12);
en vez de esto:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypePorRequerimiento), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypePorRequerimiento), ioLiteral);


newtron 07-01-2025 12:14:38

Cita:

Empezado por delphiGar (Mensaje 561063)
Seguramente es por que tienes esto en el wdsl importado.

1)Tendras, para el caso de envio inmediato:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioSoap12);
en vez de esto:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioLiteral);

2)Si es para envio por requerimiento tendras:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypePorRequerimiento), ioSoap12);
en vez de esto:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypePorRequerimiento), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypePorRequerimiento), ioLiteral);



Perfecto.



¿Y esto es porque he hecho algo mal al importar o es normal que tenga que cambiarlo a manubrio?


Gracias y un saludo.

delphiGar 07-01-2025 12:17:14

Hay que cambiarlo a mano, por que el wdsl importer te pone ioSoap12

newtron 07-01-2025 12:22:27

Perfecto. Lo tendré en cuenta para las próximas.


Gracias de nuevo y un saludo.

gcqZW 08-01-2025 08:30:07

Me podriais decir en que wsdl os pasa??

newtron 08-01-2025 09:40:58

Pues si no me equivoco es el que viene en la web de la aeat:




Saludos.

egostar 08-01-2025 16:25:20

Cita:

Empezado por newtron (Mensaje 561064)
..... ¿Y esto es porque he hecho algo mal al importar o es normal que tenga que cambiarlo a manubrio?

Hola.

No se que versión de Delphi tengas (En mi caso es 12.2), pero desde hace algunas versiones puedes seleccionar la versión del SOAP que deseas importar, entonces cuando importas el WSDL tienes que elegir el protocolo SOAP 1.2



Saludos

newtron 08-01-2025 16:49:52

Cita:

Empezado por egostar (Mensaje 561092)
Hola.

No se que versión de Delphi tengas (En mi caso es 12.2), pero desde hace algunas versiones puedes seleccionar la versión del SOAP que deseas importar, entonces cuando importas el WSDL tienes que elegir el protocolo SOAP 1.2



Saludos


Buenas.


Tengo Delphi Berlin y creo que en esto en particular está igual que en la tuya. Creo haber seleccionado SOAP 1.2 a raiz de haberlo leido por aquí en otros hilos pero ya estoy en la duda. Lo tendré en cuenta para la próxima.


Gracias y un saludo.

razorxxx 16-01-2025 11:12:51

Cita:

Empezado por delphiGar (Mensaje 561065)
Hay que cambiarlo a mano, por que el wdsl importer te pone ioSoap12

No me digas cómo, pero al ejecutar el WSDL Importer de "https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl" dejando todas las opciones por defecto y poniendo SOAP Version Automatic, ya me deja puestas las líneas con ioDocument e ioLiteral. ¿No será que los señores de la AEAT modificaron el WSDL sin decir nada porque se dieron cuenta de algún error?

delphiGar 16-01-2025 12:13:39

Cita:

Empezado por razorxxx (Mensaje 561233)
No me digas cómo, pero al ejecutar el WSDL Importer de "https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl" dejando todas las opciones por defecto y poniendo SOAP Version Automatic, ya me deja puestas las líneas con ioDocument e ioLiteral. ¿No será que los señores de la AEAT modificaron el WSDL sin decir nada porque se dieron cuenta de algún error?

Efectivamente lo han cambiado, antes cuando lo importabas por defecto en el objeto
Código:

RegFactuSistemaFacturacion
no aparecia la propiedad
Código:

property Cabecera:        CabeceraType
y si
Código:

property RegistroFactura: Array_Of_RegistroFacturaType
, con lo que no podias elaborar el objeto.

Por lo que veo ahora si que te incluye la cabecera y directamente pone los modificadores ioDocument e ioLiteral y la version 1 de SOAP que es la que en el documento de la AEAT indica que es la correcta para la elaboracion y envio.

ISCOPYME 28-01-2025 19:25:23

Buenas tardes. Acabo de importar el wsdl y me da muchísimos errores de incompatibilidad de tipos : "FacturasRectificadas2 y FacturasRectificadas", "Destinatarios2 y Destinatarios", "Encadenamiento3 y Encadenamiento2", "Encadenamiento2 y Encadenamiento", "Cabecera"......

A alguien más le ha pasado o es que he hecho algo mal..

Estoy importando el wsdl de .. https.........://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl

newtron 29-01-2025 09:42:10

Cita:

Empezado por ISCOPYME (Mensaje 561510)
Buenas tardes. Acabo de importar el wsdl y me da muchísimos errores de incompatibilidad de tipos : "FacturasRectificadas2 y FacturasRectificadas", "Destinatarios2 y Destinatarios", "Encadenamiento3 y Encadenamiento2", "Encadenamiento2 y Encadenamiento", "Cabecera"......

A alguien más le ha pasado o es que he hecho algo mal..

Estoy importando el wsdl de .. https.........://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl


Eso es porque la declaración de las variables ha cambiado. Donde antes declarabas una variable como Encadenamiento2.Type (por ejemplo) igual ahora debe de ser Encadenamiento3.Type y así. Es un poco coñazo pero en poco rato lo tienes configurado, solo es cambiar algunos objetos.


Saludos.

ISCOPYME 29-01-2025 12:51:49

Muchas gracias. Cambiaré los tipos de objetos y a continuar, a ver, qué sorpresa me encuentro...

bmfranky 29-01-2025 15:03:27

Cita:

Empezado por ISCOPYME (Mensaje 561527)
Muchas gracias. Cambiaré los tipos de objetos y a continuar, a ver, qué sorpresa me encuentro...

Hola, yo simplemente antes de reimportar el wsdl, lo elimino completamente del proyecto, de lo contrario me da muchisimos problemas, en vez de actualizarse. en C#

_Io 31-01-2025 20:18:56

Hola, Buenas Noches

Yo importe la wdsl a principios de diciembre y me va bien.

Ha habido alguna actualización para tener que volverla a importar?

Muchas Gracias.

bmfranky 03-02-2025 10:00:51

Cita:

Empezado por _Io (Mensaje 561630)
Hola, Buenas Noches

Yo importe la wdsl a principios de diciembre y me va bien.

Ha habido alguna actualización para tener que volverla a importar?

Muchas Gracias.

Hola, si han cambiado algo en el servicio de consulta de registros (entre los dias 14 -20 de enero), ademas de que igual han cambiado algo en lo demas y no lo estan documentando, esto va a ser un lio si continuan asi.

_Io 03-02-2025 10:18:26

Cita:

Empezado por bmfranky (Mensaje 561662)
Hola, si han cambiado algo en el servicio de consulta de registros (entre los dias 14 -20 de enero), ademas de que igual han cambiado algo en lo demas y no lo estan documentando, esto va a ser un lio si continuan asi.

Buenos Días.

Muchas Gracias. ^\||/


La franja horaria es GMT +2. Ahora son las 15:39:56.

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