Ver Mensaje Individual
  #4  
Antiguo 11-02-2025
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 114
Reputación: 3
_Io Va por buen camino
Cita:
Empezado por rci Ver Mensaje
Hola _Io, en mi caso no he modificado nada de las clases que genera la importación del WSDL y las propiedades Specified son publicas (en c#). Te paso una parte del fichero Reference.cs creado al importar el WSDL:

Código:
private bool macrodatoFieldSpecified;

....

public bool MacrodatoSpecified 
{
   get 
   {
          return this.macrodatoFieldSpecified;
   }
   set 
   {
          this.macrodatoFieldSpecified = value;
          this.RaisePropertyChanged("MacrodatoSpecified");
   }
}

Hola.

Yo utilizo Delphi 12, y en la importación me crea estas propiedades como privadas, por eso lo de la chapucilla.

Sinceramente no sé si en las opciones de importación existe alguna opción para que saque estas propiedades como públicas.

También puede ser, que se pueda acceder a ellas y yo desconozca el cómo

Una Clase de la importación del WDSL:
Código:
  RespuestaBaseType = class(TRemotable)
  private
    FCSV: string;
    FCSV_Specified: boolean;
    FDatosPresentacion: DatosPresentacionType;
    FDatosPresentacion_Specified: boolean;
    FCabecera: CabeceraType;
    FTiempoEsperaEnvio: Tipo6Type;
    FEstadoEnvio: EstadoEnvioType;
    procedure SetCSV(Index: Integer; const Astring: string);
    function  CSV_Specified(Index: Integer): boolean;
    procedure SetDatosPresentacion(Index: Integer; const ADatosPresentacionType: DatosPresentacionType);
    function  DatosPresentacion_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property CSV:               string                 Index (IS_OPTN) read FCSV write SetCSV stored CSV_Specified;
    property DatosPresentacion: DatosPresentacionType  Index (IS_OPTN) read FDatosPresentacion write SetDatosPresentacion stored DatosPresentacion_Specified;
    property Cabecera:          CabeceraType           read FCabecera write FCabecera;
    property TiempoEsperaEnvio: Tipo6Type              read FTiempoEsperaEnvio write FTiempoEsperaEnvio;
    property EstadoEnvio:       EstadoEnvioType        read FEstadoEnvio write FEstadoEnvio;
  end;

Aquí pongo la modificación:

Código:
  RespuestaBaseType = class(TRemotable)
  private
    FCSV: string;
    FCSV_Specified: boolean;
    FDatosPresentacion: DatosPresentacionType;
    FDatosPresentacion_Specified: boolean;
    FCabecera: CabeceraType;
    FTiempoEsperaEnvio: Tipo6Type;
    FEstadoEnvio: EstadoEnvioType;
    procedure SetCSV(Index: Integer; const Astring: string);
    function  CSV_Specified(Index: Integer): boolean;
    procedure SetDatosPresentacion(Index: Integer; const ADatosPresentacionType: DatosPresentacionType);
    function  DatosPresentacion_Specified(Index: Integer): boolean;
  public
    property CSV_Especificada: boolean read FCSV_Specified;
    property DatosPresentacion_Especificada: boolean read FDatosPresentacion_Specified;
  public
    destructor Destroy; override;
  published
    property CSV:               string                 Index (IS_OPTN) read FCSV write SetCSV stored CSV_Specified;
    property DatosPresentacion: DatosPresentacionType  Index (IS_OPTN) read FDatosPresentacion write SetDatosPresentacion stored DatosPresentacion_Specified;
    property Cabecera:          CabeceraType           read FCabecera write FCabecera;
    property TiempoEsperaEnvio: Tipo6Type              read FTiempoEsperaEnvio write FTiempoEsperaEnvio;
    property EstadoEnvio:       EstadoEnvioType        read FEstadoEnvio write FEstadoEnvio;
  end;

Saludos !!!
Responder Con Cita