FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Al consumir WebService me da Accessviolation al acceder al resultado
Hola,
Lo que pretendo es consumir un Webservice enviando un XML (generado con los métodos ya importados del WSDL) y luego obtener el XML de respuesta para saber si es aceptado o rechazado. El caso es que logro consumir correctamente el Webservice, pero a la hora de acceder a la respuesta me da un error Accessviolation. Seguramente no estoy inicializando o creando correctamente alguna clase o lo que sea, pero llevo ya varios días probándolo de todas las maneras y no logro solucionarlo. Os pongo en detalle lo que hago a ver si alguien me puede ayudar. Primero importo el WSDL de la siguiente dirección: https://www3.agenciatributaria.gob.e...s/Ie215V1.wsdl Esto genera una unidad en Delphi para consumir el Webservice, pongo solamente la parte que interesa para obtener el resultado:
La función GetIe215V1 devuelve una clase TRemotable que es la que contiene el resultado del Webservice y a la que no logro acceder. La clase es esta:
Y este es el código que utilizo para consumir el Webservice:
Por favor, si alguien puede arrojar luz sobre este tema se lo agradeceré, pero llevo ya atascado con esto varios días y no doy con la solución. Muchas gracias!! |
#2
|
||||
|
||||
Hola a todos,
¿Tal vez tendrías que instanciar la clase antes de llamar a "GetIe215V1"? Es decir:
En todo caso, asegúrate de que la respuesta de "GetIe215V1" es del tipo esperado, por ejemplo, antes de intentar acceder al mismo:
No estoy seguro de haberte ayudado... pero a lo mejor tomas alguna idea... |
#3
|
|||
|
|||
Hola dec,
He probado como dices, haciendo el Create, pero me sigue dando el mismo error AcessViolation. Tanto si pongo el Create como si no, lo raro es que el XMLRespuesta que es de tipo Ie215V1SalType, tiene dos propiedades que son Ie201 y Ie204 y las dos vienen a nil, y por eso me da el accessviolation. Lo que no entiendo es porque vienen a nil, porque he conseguido capturar el XML de respuesta y tiene valor: Cita:
|
#4
|
||||
|
||||
Hola a todos,
El XML de respuesta que muestras en tu último mensaje contiene un error... ¿no tendrá eso que ver? Tú tratas de acceder a algo como "XMLRespuesta.Ie201.Cuerpo.AlbaranVER", pero, en el XML que muestras, no aparece "Ie201", sino "Ie204". Pero, es que además, tampoco parece existir algo como "XMLRespuesta.Ie204.Cuerpo.AlbaranVER"... Tal vez tengas que comprobar si la respuesta contiene un error, puesto que, al menos en ese caso, el XML no parece ser el que tú esperas. |
#5
|
|||
|
|||
Hola dec, gracias por tu tiempo.
Sí, el XML de respuesta es correcto que contenga un error. Lo estoy forzando para poder procesar los errores, por eso dice 'Mensaje YA consumido con anterioridad y rechazado.' El problema lo tengo precisamente con eso, que sí que puedo obtener el XML de respuesta, pero en cambio el objeto que me tiene que devolver el WebService me lo devuelve vacío, a nil. Lo que devuelve el WebService es la clase Ie215V1SalType :
Y esta a su vez contiene dos propiedades, Ie201 si el mensaje es correcto y Ie204 si el mensaje es rechazado. Pongo el esquema para que se vea más claro https://ibb.co/D9hjVRY : En este caso el XML viene rellenado con Ie204 porque viene rechazado. Pero el problema, es la respuesta Ie215V1SalType me viene tanto con el Ie201 y Ie204 a nil. La única manera que puedo acceder a la respuesta es consultando el XML. Si no hay más remedio lo tendré que hacer así, pero lo ideal es poder trabajar con el objeto Ie215V1SalType que proporciona el WebService ya que es mucho más cómodo para acceder a sus valores... Muchas gracias de nuevo. Última edición por Casimiro Notevi fecha: 06-05-2019 a las 11:22:39. |
#6
|
|||
|
|||
Mismo Problema
Hola APO
He realizado la implementación en Delphi y además desde .Net con c# Al realizar la llamada Ie215V1, la respuesta devuelta es null, empiezo a pensar que el mensaje que devuelve el servicio no es parseable al objeto (no lo se)... Por favor, si alguién diera con la solución del problema indicadlo. Un saludo y gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consumir Webservice | darkerbyte | Delphi para la web | 5 | 17-11-2012 20:59:50 |
Consumir un webservice echo en delphi con php | anahuel | Delphi para la web | 3 | 27-10-2012 07:20:42 |
Consumir WebService | nasedo | Varios | 1 | 11-08-2011 14:32:57 |
Consumir Webservice | MARLON1 | Internet | 0 | 06-07-2011 00:07:12 |
Problema al consumir un Webservice | netcigos | Varios | 0 | 08-03-2004 15:09:30 |
|