Este valor lo recibo como respuesta a una petición SOAP y se carga en una TRemotable con esta definición:
Código:
MetadatosTipo = class(TRemotable)
private
FticketID: ticketID;
FMensajeID: IDGlobalTipo;
FEstado: EstadoTipo;
FEmisor: TipoNIF;
FNombreEmisor: NombreEmisorTipo;
FNombreEmisor_Specified: boolean;
FTitular: TipoNIF;
FNotificado: TipoNIF;
FTipoMensajeria: TipoMensajeTipo;
FActoNotificado: ActoNotificadoTipo;
FActoNotificado_Specified: boolean;
FAsunto: AsuntoTipo;
FCuerpo: CuerpoTipo;
FCuerpo_Specified: boolean;
FDetalles: DetallesMensajeTipo;
FDetalles_Specified: boolean;
FNombreFicheroAdjunto: NombreFicheroAdjuntoTipo;
FNombreFicheroAdjunto_Specified: boolean;
FFerchaPuestaDisposicion: TXSDateTime;
FEventoRecogida: InformacionEventoTipo;
FEventoRecogida_Specified: boolean;
FDatosRecogida: DatosRecogidaTipo;
FDatosRecogida_Specified: boolean;
procedure SetNombreEmisor(Index: Integer; const ANombreEmisorTipo: NombreEmisorTipo);
function NombreEmisor_Specified(Index: Integer): boolean;
procedure SetActoNotificado(Index: Integer; const AActoNotificadoTipo: ActoNotificadoTipo);
function ActoNotificado_Specified(Index: Integer): boolean;
procedure SetCuerpo(Index: Integer; const ACuerpoTipo: CuerpoTipo);
function Cuerpo_Specified(Index: Integer): boolean;
procedure SetDetalles(Index: Integer; const ADetallesMensajeTipo: DetallesMensajeTipo);
function Detalles_Specified(Index: Integer): boolean;
procedure SetNombreFicheroAdjunto(Index: Integer; const ANombreFicheroAdjuntoTipo: NombreFicheroAdjuntoTipo);
function NombreFicheroAdjunto_Specified(Index: Integer): boolean;
procedure SetEventoRecogida(Index: Integer; const AInformacionEventoTipo: InformacionEventoTipo);
function EventoRecogida_Specified(Index: Integer): boolean;
procedure SetDatosRecogida(Index: Integer; const ADatosRecogidaTipo: DatosRecogidaTipo);
function DatosRecogida_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property ticketID: ticketID Index (IS_ATTR) read FticketID write FticketID;
property MensajeID: IDGlobalTipo read FMensajeID write FMensajeID;
property Estado: EstadoTipo read FEstado write FEstado;
property Emisor: TipoNIF read FEmisor write FEmisor;
property NombreEmisor: NombreEmisorTipo Index (IS_OPTN) read FNombreEmisor write SetNombreEmisor stored NombreEmisor_Specified;
property Titular: TipoNIF read FTitular write FTitular;
property Notificado: TipoNIF read FNotificado write FNotificado;
property TipoMensajeria: TipoMensajeTipo read FTipoMensajeria write FTipoMensajeria;
property ActoNotificado: ActoNotificadoTipo Index (IS_OPTN) read FActoNotificado write SetActoNotificado stored ActoNotificado_Specified;
property Asunto: AsuntoTipo read FAsunto write FAsunto;
property Cuerpo: CuerpoTipo Index (IS_OPTN) read FCuerpo write SetCuerpo stored Cuerpo_Specified;
property Detalles: DetallesMensajeTipo Index (IS_OPTN) read FDetalles write SetDetalles stored Detalles_Specified;
property NombreFicheroAdjunto: NombreFicheroAdjuntoTipo Index (IS_OPTN) read FNombreFicheroAdjunto write SetNombreFicheroAdjunto stored NombreFicheroAdjunto_Specified;
property FerchaPuestaDisposicion: TXSDateTime read FFerchaPuestaDisposicion write FFerchaPuestaDisposicion;
property EventoRecogida: InformacionEventoTipo Index (IS_OPTN) read FEventoRecogida write SetEventoRecogida stored EventoRecogida_Specified;
property DatosRecogida: DatosRecogidaTipo Index (IS_OPTN) read FDatosRecogida write SetDatosRecogida stored DatosRecogida_Specified;
end;
y EstadoTipo se define como:
Código:
EstadoTipo = (NO_LEIDA, ACEPTADA, RECHAZADA, EXPIRADA);
Al intentar leer los datos de la respuesta en cuando no sé como acceder al valor que trae.
Como ves en la imagen del otro post me ofrece los posibles valores de EstadoTipo.
Y si intento
Código:
memo.Lines.Add('Estado '+result.Metadatos[i].Estado);
me da el error de compilación que puse en el otro post.
De hecho, si lo vuelco en un xml obtengo su valor:
Código:
<tns:RespuestaConsulta xmlns:ape="urn:correos.es:ape.sne.datos.1.0"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:tns="urn:correos.es:ape.sne.ws.accesobuzon.1.0">
<tns:Paginacion>
<tns:pagina>1</tns:pagina>
<tns:totalPaginas>2</tns:totalPaginas>
<tns:numeroElementos>30</tns:numeroElementos>
</tns:Paginacion>
<tns:Metadatos tns:ticketID="148620">
<tns:MensajeID>1485796663920-1-0</tns:MensajeID>
<tns:Estado>NO_LEIDA</tns:Estado>
<tns:Emisor>28972577Y</tns:Emisor>
<tns:NombreEmisor>Servicio de Notificaciones Electrónicas SNE</tns:NombreEmisor>
<tns:Titular>P3208600A</tns:Titular>
<tns:Notificado>P3208600A</tns:Notificado>
<tns:TipoMensajeria>NOTIFICACION</tns:TipoMensajeria>
<tns:ActoNotificado>PRUEBAS</tns:ActoNotificado>
<tns:Asunto>Prueba Notificacion</tns:Asunto>
<tns:Cuerpo>esto es una prueba de Notificacion WS</tns:Cuerpo>
<tns:Detalles />
<tns:FerchaPuestaDisposicion>2017-01-30T18:18:04+01:00</tns:FerchaPuestaDisposicion>
</tns:Metadatos>
</tns:RespuestaConsulta>