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 :
Código Delphi
[-] Ie215V1SalType = class(TRemotable)
private
FIe201: Ie201;
FIe201_Specified: boolean;
FIe204: Ie204;
FIe204_Specified: boolean;
procedure SetIe201(Index: Integer; const AIe201: Ie201);
function Ie201_Specified(Index: Integer): boolean;
procedure SetIe204(Index: Integer; const AIe204: Ie204);
function Ie204_Specified(Index: Integer): boolean;
public
constructor Create; override;
destructor Destroy; override;
published
property Ie201: Ie201 Index (IS_OPTN or IS_REF) read FIe201 write SetIe201 stored Ie201_Specified;
property Ie204: Ie204 Index (IS_OPTN or IS_REF) read FIe204 write SetIe204 stored Ie204_Specified;
end;
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.