Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2009, 14:15   #1
pitonf
Новичок
Джуниор
 
Регистрация: 10.12.2009
Сообщений: 1
Печаль тип данных интерфейса Web service

делфи сгенерировал модуль по wsdl ссылке при вызове функции интерфейса
вызывается ошибка не правильный формат данных.
часть кода импорта:
Код:
// 

unit LogisticsData;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

type
 
  RegisterTask = class(TRemotable)
  private
    FDeliveryTask: DeliveryTask;
    FDeliveryTask_Specified: boolean;
    procedure SetDeliveryTask(Index: Integer; const ADeliveryTask: DeliveryTask);
    function  DeliveryTask_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property DeliveryTask: DeliveryTask  Index (IS_OPTN or IS_REF) read FDeliveryTask write SetDeliveryTask stored DeliveryTask_Specified;
  end;


  RegisterTaskResponse = class(TRemotable)
  private
  published
  end;


  SaveTemperatureData = class(TRemotable)
  private
    FTemperature: Temperature;
    FTemperature_Specified: boolean;
    procedure SetTemperature(Index: Integer; const ATemperature: Temperature);
    function  Temperature_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Temperature: Temperature  Index (IS_OPTN or IS_REF) read FTemperature write SetTemperature stored Temperature_Specified;
  end;

  SaveTemperatureDataResponse = class(TRemotable)
  private
  published
  end;


  SensorType = class(TRemotable)
  private
    FText: Variant;
    FId: string50;
  published
    property Text: Variant   Index (IS_TEXT) read FText write FText;
    property Id:   string50  Index (IS_ATTR) read FId write FId;
  end;


  TemperatureSensorType = class(TRemotable)
  private
  published
  end;

  HistoricalSensorDataType = class(TRemotable)
  private
    FTaskId: ShippingTaskIdType;
    FSequenceNo: Int64;
  published
    property TaskId:     ShippingTaskIdType  Index (IS_ATTR) read FTaskId write FTaskId;
    property SequenceNo: Int64               Index (IS_ATTR) read FSequenceNo write FSequenceNo;
  end;

  Array_Of_SensorType = array of SensorType;    { "http://fcst.ru/2009/11/Logistics"[GblUbnd] }



  SensorsDataType = class(TRemotable)
  private
    FTimestamp: string;
    FSensor: Array_Of_SensorType;
    FSensor_Specified: boolean;
    procedure SetSensor(Index: Integer; const AArray_Of_SensorType: Array_Of_SensorType);
    function  Sensor_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Timestamp: string          Index (IS_ATTR) read FTimestamp write FTimestamp;
    property Sensor:    Array_Of_SensorType  Index (IS_OPTN or IS_UNBD) read FSensor write SetSensor stored Sensor_Specified;
  end;

  Array_Of_TemperatureSensorType = array of TemperatureSensorType;   { "http://fcst.ru/2009/11/Logistics"[GblUbnd] }

  TemperatureSensorsDataType = class(SensorsDataType)
  private
    FSensor: Array_Of_TemperatureSensorType;
    FSensor_Specified: boolean;
    procedure SetSensor(Index: Integer; const AArray_Of_TemperatureSensorType: Array_Of_TemperatureSensorType);
    function  Sensor_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Sensor: Array_Of_TemperatureSensorType  Index (IS_OPTN or IS_UNBD) read FSensor write SetSensor stored Sensor_Specified;
  end;


  Array_Of_TemperatureSensorsDataType = array of TemperatureSensorsDataType;   { "http://fcst.ru/2009/11/Logistics"[GblUbnd] }

  TemperatureDataType = class(HistoricalSensorDataType)
  private
    FSensorsData: Array_Of_TemperatureSensorsDataType;
  public
    destructor Destroy; override;
  published
    property SensorsData: Array_Of_TemperatureSensorsDataType  Index (IS_UNBD) read FSensorsData write FSensorsData;
  end;

  Temperature = class(TemperatureDataType)
  private
  published
  end;

  CustomBinding = interface(IInvokable)
  ['{1CAB0DBF-D6C5-E32E-005B-79713C30E7C9}']
    function  RegisterTask(const parameters: RegisterTask): RegisterTaskResponse; stdcall;

    function  SaveTemperatureData(const parameters: SaveTemperatureData): SaveTemperatureDataResponse; stdcall;



implementation
  uses SysUtils;


end.
метод интерфейса RegisterTask вызывается без проблем
а при вызове SaveTemperatureData вылетает ошибка скорее всего из-за того что
при создании класса TemperatureSensorType не могу определить атрибуты id и Text которые по идее должны наследоваться у класса SensorType но это не так, я пытался копать в сторону свойства DataContext но не могу понять как это сделать.
Помогите начинающему
pitonf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать RSS поток с помощью Web Service damned20 PHP 1 22.05.2009 13:39
Строковый тип данных. Paul Oakenfold Паскаль, Turbo Pascal, PascalABC.NET 2 11.04.2009 21:05
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? An_ton SQL, базы данных 5 16.01.2009 17:55
OpenProcessToken для процессов LOCAL SERVICE и NETWORK SERVICE M.A.R.K Win Api 12 04.05.2008 09:51
Тип базы данных Dux БД в Delphi 7 23.04.2008 17:56