AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi SoapClient ohne Funktionen aus WSDL
Thema durchsuchen
Ansicht
Themen-Optionen

SoapClient ohne Funktionen aus WSDL

Ein Thema von tburch · begonnen am 25. Okt 2006
Antwort Antwort
tburch

Registriert seit: 11. Okt 2004
5 Beiträge
 
#1

SoapClient ohne Funktionen aus WSDL

  Alt 25. Okt 2006, 12:23
Hallo DP-Community

Ich habe zur Zeit eine Aufgabe welche sich in einem für mich neuen Umfeld abspielt.
Ich soll einen Client zu einem bereits bestehenden WebService schreiben. Diese beiden kommunizieren untereinander per SOAP.

Nach dem ich einige Tutorials dazu gelesen habe, war ich ziemlich optimistisch das hinzubekommen. In zwischen bin ich ziemlich ernüchtert.

Ich hab als erstes nach der WSDL-Datei zu dem WebService gesucht. Diese habe ich jetzt auch zur Verfügung. Leider beinhaltet die WSDL nur Objekte und Attribute und eine einzige Prozedur mir der ich nur wenig anfangen kann.

Da ich über die WSDL keine Funktionen zur Verfügung gestellt bekomme, denke ich muss ich mit Hilfe der TXmlDocument mir meine Soap-Requests zusammenbauen und dann als StringStream über THttpReqResp senden. Wenn es einen andern/einfacheren Weg gibt bin ich dafür sehr offen.

Wenn ich nun Response bekomme muss ich selbst Instanzen der durch den WSDL-Import definierten Klassen kreieren.
Leider bin ich bisher noch nicht dahinter gekommen wie man das macht, ich könnte mir das aber irgendwie so vorstellen.

procedure TForm1.Button2Click(Sender: TObject);
var
titm : Item;
begin
titm := Item.Create;
titm.SoapToObject(…, …., …, ….)
end;

Da es sich bei den Attributen meiner Objekte z.B. Titm.shortDescription nicht um Borland-Datentypen handelt ist das für mich sehr undurchsichtig und ich sehe keinen


An dieser Stelle schon mal herzlichen Dank fürs Lesen.
T. Burch


Nach dem WSDL-Import habe ich eine neue *.pas im Projekt das wie folgt aussieht:


Delphi-Quellcode:
// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL : [url]http://localhost:8500/wsdl/ELSV[/url]
// Encoding : UTF-8
// Codegen : [wfDebug,wfUseSerializerClassForAttrs,wfProcessHeaders]
// Version : 1.0
// (18.10.2006 14:43:05 - 1.33.2.5)
// ************************************************************************ //

unit ELSV;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Borland types; however, they could also
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:string - "http://www.w3.org/2001/XMLSchema"
  // !:boolean - "http://www.w3.org/2001/XMLSchema"
  // !:double - "http://www.w3.org/2001/XMLSchema"
  // !:date - "http://www.w3.org/2001/XMLSchema"
  // !:time - "http://www.w3.org/2001/XMLSchema"
  // !:dateTime - "http://www.w3.org/2001/XMLSchema"

  // [WARNINGS]************************************************************** //
  // Unable to sort type 'SrvBusObject' due to circular reference!
  // Unable to sort type 'wsAnd' due to circular reference!
  // Unable to sort type 'wsParameter' due to circular reference!
  // Unable to sort type 'wsSession' due to circular reference!
  // ************************************************************************ //

  wsString = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsShortString = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsBoolean = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsNumber = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsDate = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsTime = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsTimestamp = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  MyappObject = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  WarehouseStoragePlace = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  Warehouse = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  ItemStockLocation = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  Item = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsFilterSortContent = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsAnd = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsOr = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsFilter = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsSort = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsProblem = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsParameter = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  Object_ = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  SrvBusObject = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsOption = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsSession = class; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }

  wsStringSimpleType = type WideString; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsShortStringSimpleType = type WideString; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsBooleanSimpleType = Boolean; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsNumberSimpleType = Double; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsDateSimpleType = TXSDate; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsTimeSimpleType = TXSTime; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }
  wsTimestampSimpleType = TXSDateTime; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsString = class(TRemotable)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsShortString = class(TRemotable)
  private
  published
  end;

  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsBoolean = class(TRemotable)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsNumber = class(TRemotable)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsDate = class(TRemotable)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsTime = class(TRemotable)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsTimestamp = class(TRemotable)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  Object_ = class(TRemotable)
  private
    FwsParameter: wsParameter;
  public
    destructor Destroy; override;
  published
    property wsParameter: wsParameter read FwsParameter write FwsParameter;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  MyappObject = class(Object_)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  WarehouseStoragePlace = class(MyappObject)
  private
    Fwarehouse_warehouseNo: wsNumber;
    FshortDescription: wsShortString;
  public
    destructor Destroy; override;
  published
    property warehouse_warehouseNo: wsNumber read Fwarehouse_warehouseNo write Fwarehouse_warehouseNo;
    property shortDescription: wsShortString read FshortDescription write FshortDescription;
  end;

  storagePlaces = array of WarehouseStoragePlace; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  Warehouse = class(MyappObject)
  private
    FwarehouseNo: wsNumber;
    Fdescription: wsShortString;
    FshortDescription: wsShortString;
    FcanGoodsBePicked: wsBoolean;
    FstoragePlaces: storagePlaces;
  public
    destructor Destroy; override;
  published
    property warehouseNo: wsNumber read FwarehouseNo write FwarehouseNo;
    property description: wsShortString read Fdescription write Fdescription;
    property shortDescription: wsShortString read FshortDescription write FshortDescription;
    property canGoodsBePicked: wsBoolean read FcanGoodsBePicked write FcanGoodsBePicked;
    property storagePlaces: storagePlaces read FstoragePlaces write FstoragePlaces;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  ItemStockLocation = class(MyappObject)
  private
    Fitem_itemNo: wsShortString;
    Fwarehouse: Warehouse;
    FwarehouseStoragePlace: WarehouseStoragePlace;
  public
    destructor Destroy; override;
  published
    property item_itemNo: wsShortString read Fitem_itemNo write Fitem_itemNo;
    property warehouse: Warehouse read Fwarehouse write Fwarehouse;
    property warehouseStoragePlace: WarehouseStoragePlace read FwarehouseStoragePlace write FwarehouseStoragePlace;
  end;

  stockLocations = array of ItemStockLocation; { "urn:schemas-mySoapApp-ch:o2imessage_v1.20" }


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  Item = class(MyappObject)
  private
    FitemNo: wsShortString;
    FshortDescription: wsShortString;
    FcustomString1: wsShortString;
    FcustomString2: wsShortString;
    FstockLocations: stockLocations;
  public
    destructor Destroy; override;
  published
    property itemNo: wsShortString read FitemNo write FitemNo;
    property shortDescription: wsShortString read FshortDescription write FshortDescription;
    property customString1: wsShortString read FcustomString1 write FcustomString1;
    property customString2: wsShortString read FcustomString2 write FcustomString2;
    property stockLocations: stockLocations read FstockLocations write FstockLocations;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsFilterSortContent = class(TRemotable)
  private
    FcanGoodsBePicked: wsBoolean;
    FcustomString1: wsShortString;
    FcustomString2: wsShortString;
    Fdescription: wsShortString;
    Fitem_itemNo: wsShortString;
    FitemNo: wsShortString;
    FshortDescription: wsShortString;
    FstockLocations: stockLocations;
    FstoragePlaces: storagePlaces;
    Fwarehouse_warehouseNo: wsNumber;
    FwarehouseNo: wsNumber;
  public
    destructor Destroy; override;
  published
    property canGoodsBePicked: wsBoolean read FcanGoodsBePicked write FcanGoodsBePicked;
    property customString1: wsShortString read FcustomString1 write FcustomString1;
    property customString2: wsShortString read FcustomString2 write FcustomString2;
    property description: wsShortString read Fdescription write Fdescription;
    property item_itemNo: wsShortString read Fitem_itemNo write Fitem_itemNo;
    property itemNo: wsShortString read FitemNo write FitemNo;
    property shortDescription: wsShortString read FshortDescription write FshortDescription;
    property stockLocations: stockLocations read FstockLocations write FstockLocations;
    property storagePlaces: storagePlaces read FstoragePlaces write FstoragePlaces;
    property warehouse_warehouseNo: wsNumber read Fwarehouse_warehouseNo write Fwarehouse_warehouseNo;
    property warehouseNo: wsNumber read FwarehouseNo write FwarehouseNo;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsAnd = class(wsFilterSortContent)
  private
    FwsAnd: wsAnd;
    FwsOr: wsOr;
  public
    destructor Destroy; override;
  published
    property wsAnd: wsAnd read FwsAnd write FwsAnd;
    property wsOr: wsOr read FwsOr write FwsOr;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsOr = class(wsFilterSortContent)
  private
    FwsAnd: wsAnd;
    FwsOr: wsOr;
  public
    destructor Destroy; override;
  published
    property wsAnd: wsAnd read FwsAnd write FwsAnd;
    property wsOr: wsOr read FwsOr write FwsOr;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsFilter = class(wsFilterSortContent)
  private
    FwsAnd: wsAnd;
    FwsOr: wsOr;
  public
    destructor Destroy; override;
  published
    property wsAnd: wsAnd read FwsAnd write FwsAnd;
    property wsOr: wsOr read FwsOr write FwsOr;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsSort = class(wsFilterSortContent)
  private
  published
  end;

  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  SrvBusObject = class(Object_)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsProblem = class(SrvBusObject)
  private
    FCode: wsStringSimpleType;
    FSeverity: wsStringSimpleType;
    FDescription: wsStringSimpleType;
    FLocalizedDescription: wsStringSimpleType;
  published
    property Code: wsStringSimpleType read FCode write FCode;
    property Severity: wsStringSimpleType read FSeverity write FSeverity;
    property Description: wsStringSimpleType read FDescription write FDescription;
    property LocalizedDescription: wsStringSimpleType read FLocalizedDescription write FLocalizedDescription;
  end;



  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsParameter = class(TRemotable)
  private
    FwsString: wsString;
    FwsShortString: wsShortString;
    FwsBoolean: wsBoolean;
    FwsNumber: wsNumber;
    FwsDate: wsDate;
    FwsTime: wsTime;
    FwsTimestamp: wsTimestamp;
    FwsSession: wsSession;
    FwsProblem: wsProblem;
    FwsOption: wsOption;
    FwsFilter: wsFilter;
    FwsSort: wsSort;
    FItem: Item;
    FItemStockLocation: ItemStockLocation;
    FWarehouse: Warehouse;
    FWarehouseStoragePlace: WarehouseStoragePlace;
  public
    destructor Destroy; override;
  published
    property wsString: wsString read FwsString write FwsString;
    property wsShortString: wsShortString read FwsShortString write FwsShortString;
    property wsBoolean: wsBoolean read FwsBoolean write FwsBoolean;
    property wsNumber: wsNumber read FwsNumber write FwsNumber;
    property wsDate: wsDate read FwsDate write FwsDate;
    property wsTime: wsTime read FwsTime write FwsTime;
    property wsTimestamp: wsTimestamp read FwsTimestamp write FwsTimestamp;
    property wsSession: wsSession read FwsSession write FwsSession;
    property wsProblem: wsProblem read FwsProblem write FwsProblem;
    property wsOption: wsOption read FwsOption write FwsOption;
    property wsFilter: wsFilter read FwsFilter write FwsFilter;
    property wsSort: wsSort read FwsSort write FwsSort;
    property Item: Item read FItem write FItem;
    property ItemStockLocation: ItemStockLocation read FItemStockLocation write FItemStockLocation;
    property Warehouse: Warehouse read FWarehouse write FWarehouse;
    property WarehouseStoragePlace: WarehouseStoragePlace read FWarehouseStoragePlace write FWarehouseStoragePlace;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsOption = class(SrvBusObject)
  private
    FChangeExistingInstances: wsBooleanSimpleType;
    FDeleteUnreferencedChilds: wsBooleanSimpleType;
    FReturnInstances: wsBooleanSimpleType;
    FValidateImmediately: wsBooleanSimpleType;
    FIgnoreReadOnlyAttributes: wsBooleanSimpleType;
  published
    property ChangeExistingInstances: wsBooleanSimpleType read FChangeExistingInstances write FChangeExistingInstances;
    property DeleteUnreferencedChilds: wsBooleanSimpleType read FDeleteUnreferencedChilds write FDeleteUnreferencedChilds;
    property ReturnInstances: wsBooleanSimpleType read FReturnInstances write FReturnInstances;
    property ValidateImmediately: wsBooleanSimpleType read FValidateImmediately write FValidateImmediately;
    property IgnoreReadOnlyAttributes: wsBooleanSimpleType read FIgnoreReadOnlyAttributes write FIgnoreReadOnlyAttributes;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // ************************************************************************ //
  wsSession = class(SrvBusObject)
  private
    FId: wsStringSimpleType;
  published
    property Id: wsStringSimpleType read FId write FId;
  end;


  // ************************************************************************ //
  // Namespace : urn:schemas-mySoapApp-ch:o2imessage_v1.20
  // soapAction: Session.View.Object.Method
  // transport : [url]http://schemas.xmlsoap.org/soap/http[/url]
  // style : document
  // binding : SrvBusSoapInterface
  // service : SrvBusService
  // port : SrvBusService
  // URL : [url]http://locahhost:8500/soapmessage[/url]
  // ************************************************************************ //
  SrvBusPortType = interface(IInvokable)
  ['{5FD67AFF-E7CB-ADF0-60F7-76123ED98AA9}']
    procedure SrvBusOperation(out wsString: wsString; out wsShortString: wsShortString; out wsBoolean: wsBoolean;
                             out wsNumber: wsNumber; out wsDate: wsDate; out wsTime: wsTime; out wsTimestamp: wsTimestamp;
                             out wsSession: wsSession; out wsProblem: wsProblem; out wsOption: wsOption; out wsFilter: wsFilter; out wsSort: wsSort;
                             out Item: Item; out ItemStockLocation: ItemStockLocation; out Warehouse: Warehouse; out WarehouseStoragePlace: WarehouseStoragePlace); stdcall;
{
SrvBusOperations wurde vom WSDL-Import ansich wie folgt generiert, lies sich in dieser Form jedoch nicht kompiliern.
////////////////////////////////////////////////////////////////////////////////
    procedure SrvBusOperation(const wsString: wsString; const wsShortString: wsShortString; const wsBoolean: wsBoolean; const wsNumber: wsNumber; const wsDate: wsDate; const wsTime: wsTime; const wsTimestamp: wsTimestamp; const wsSession: wsSession; const wsProblem: wsProblem; const wsOption: wsOption;
                            const wsFilter: wsFilter; const wsSort: wsSort; const Item: Item; const ItemStockLocation: ItemStockLocation; const Warehouse: Warehouse; const WarehouseStoragePlace: WarehouseStoragePlace; out wsString: wsString; out wsShortString: wsShortString; out wsBoolean: wsBoolean;
                            out wsNumber: wsNumber; out wsDate: wsDate; out wsTime: wsTime; out wsTimestamp: wsTimestamp; out wsSession: wsSession; out wsProblem: wsProblem; out wsOption: wsOption; out wsFilter: wsFilter; out wsSort: wsSort;
                            out Item: Item; out ItemStockLocation: ItemStockLocation; out Warehouse: Warehouse; out WarehouseStoragePlace: WarehouseStoragePlace); stdcall;
////////////////////////////////////////////////////////////////////////////////
}


  end;

function GetSrvBusPortType(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): SrvBusPortType;

implementation

function GetSrvBusPortType(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): SrvBusPortType;
const
  defWSDL = 'http://localhost:8500/wsdl/ELSV';
  defURL = 'http://localhost:8500/soapmessage';
  defSvc = 'SrvBusService';
  defPrt = 'SrvBusService';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as SrvBusPortType);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end
    else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


destructor WarehouseStoragePlace.Destroy;
begin
  if Assigned(Fwarehouse_warehouseNo) then
    Fwarehouse_warehouseNo.Free;
  if Assigned(FshortDescription) then
    FshortDescription.Free;
  inherited Destroy;
end;

destructor Warehouse.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FstoragePlaces)-1 do
    if Assigned(FstoragePlaces[I]) then
      FstoragePlaces[I].Free;
  SetLength(FstoragePlaces, 0);
  if Assigned(FwarehouseNo) then
    FwarehouseNo.Free;
  if Assigned(Fdescription) then
    Fdescription.Free;
  if Assigned(FshortDescription) then
    FshortDescription.Free;
  if Assigned(FcanGoodsBePicked) then
    FcanGoodsBePicked.Free;
  inherited Destroy;
end;

destructor ItemStockLocation.Destroy;
begin
  if Assigned(Fitem_itemNo) then
    Fitem_itemNo.Free;
  if Assigned(Fwarehouse) then
    Fwarehouse.Free;
  if Assigned(FwarehouseStoragePlace) then
    FwarehouseStoragePlace.Free;
  inherited Destroy;
end;

destructor Item.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FstockLocations)-1 do
    if Assigned(FstockLocations[I]) then
      FstockLocations[I].Free;
  SetLength(FstockLocations, 0);
  if Assigned(FitemNo) then
    FitemNo.Free;
  if Assigned(FshortDescription) then
    FshortDescription.Free;
  if Assigned(FcustomString1) then
    FcustomString1.Free;
  if Assigned(FcustomString2) then
    FcustomString2.Free;
  inherited Destroy;
end;

destructor wsFilterSortContent.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FstockLocations)-1 do
    if Assigned(FstockLocations[I]) then
      FstockLocations[I].Free;
  SetLength(FstockLocations, 0);
  for I := 0 to Length(FstoragePlaces)-1 do
    if Assigned(FstoragePlaces[I]) then
      FstoragePlaces[I].Free;
  SetLength(FstoragePlaces, 0);
  if Assigned(FcanGoodsBePicked) then
    FcanGoodsBePicked.Free;
  if Assigned(FcustomString1) then
    FcustomString1.Free;
  if Assigned(FcustomString2) then
    FcustomString2.Free;
  if Assigned(Fdescription) then
    Fdescription.Free;
  if Assigned(Fitem_itemNo) then
    Fitem_itemNo.Free;
  if Assigned(FitemNo) then
    FitemNo.Free;
  if Assigned(FshortDescription) then
    FshortDescription.Free;
  if Assigned(Fwarehouse_warehouseNo) then
    Fwarehouse_warehouseNo.Free;
  if Assigned(FwarehouseNo) then
    FwarehouseNo.Free;
  inherited Destroy;
end;

destructor wsAnd.Destroy;
begin
  if Assigned(FwsAnd) then
    FwsAnd.Free;
  if Assigned(FwsOr) then
    FwsOr.Free;
  inherited Destroy;
end;

destructor wsOr.Destroy;
begin
  if Assigned(FwsAnd) then
    FwsAnd.Free;
  if Assigned(FwsOr) then
    FwsOr.Free;
  inherited Destroy;
end;

destructor wsFilter.Destroy;
begin
  if Assigned(FwsAnd) then
    FwsAnd.Free;
  if Assigned(FwsOr) then
    FwsOr.Free;
  inherited Destroy;
end;

destructor wsParameter.Destroy;
begin
  if Assigned(FwsString) then
    FwsString.Free;
  if Assigned(FwsShortString) then
    FwsShortString.Free;
  if Assigned(FwsBoolean) then
    FwsBoolean.Free;
  if Assigned(FwsNumber) then
    FwsNumber.Free;
  if Assigned(FwsDate) then
    FwsDate.Free;
  if Assigned(FwsTime) then
    FwsTime.Free;
  if Assigned(FwsTimestamp) then
    FwsTimestamp.Free;
  if Assigned(FwsSession) then
    FwsSession.Free;
  if Assigned(FwsProblem) then
    FwsProblem.Free;
  if Assigned(FwsOption) then
    FwsOption.Free;
  if Assigned(FwsFilter) then
    FwsFilter.Free;
  if Assigned(FwsSort) then
    FwsSort.Free;
  if Assigned(FItem) then
    FItem.Free;
  if Assigned(FItemStockLocation) then
    FItemStockLocation.Free;
  if Assigned(FWarehouse) then
    FWarehouse.Free;
  if Assigned(FWarehouseStoragePlace) then
    FWarehouseStoragePlace.Free;
  inherited Destroy;
end;

destructor Object_.Destroy;
begin
  if Assigned(FwsParameter) then
    FwsParameter.Free;
  inherited Destroy;
end;

initialization
  InvRegistry.RegisterInterface(TypeInfo(SrvBusPortType), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(SrvBusPortType), 'Session.View.Object.Method');
  InvRegistry.RegisterInvokeOptions(TypeInfo(SrvBusPortType), ioDocument);
  RemClassRegistry.RegisterXSInfo(TypeInfo(wsStringSimpleType), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsStringSimpleType');
  RemClassRegistry.RegisterXSInfo(TypeInfo(wsShortStringSimpleType), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsShortStringSimpleType');
  RemClassRegistry.RegisterXSInfo(TypeInfo(wsBooleanSimpleType), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsBooleanSimpleType');
  RemClassRegistry.RegisterXSInfo(TypeInfo(wsNumberSimpleType), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsNumberSimpleType');
  RemClassRegistry.RegisterXSInfo(TypeInfo(wsDateSimpleType), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsDateSimpleType');
  RemClassRegistry.RegisterXSInfo(TypeInfo(wsTimeSimpleType), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsTimeSimpleType');
  RemClassRegistry.RegisterXSInfo(TypeInfo(wsTimestampSimpleType), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsTimestampSimpleType');
  RemClassRegistry.RegisterXSClass(wsString, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsString');
  RemClassRegistry.RegisterXSClass(wsShortString, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsShortString');
  RemClassRegistry.RegisterXSClass(wsBoolean, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsBoolean');
  RemClassRegistry.RegisterXSClass(wsNumber, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsNumber');
  RemClassRegistry.RegisterXSClass(wsDate, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsDate');
  RemClassRegistry.RegisterXSClass(wsTime, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsTime');
  RemClassRegistry.RegisterXSClass(wsTimestamp, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsTimestamp');
  RemClassRegistry.RegisterXSClass(MyappObject, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'MyappObject');
  RemClassRegistry.RegisterXSClass(WarehouseStoragePlace, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'WarehouseStoragePlace');
  RemClassRegistry.RegisterXSInfo(TypeInfo(storagePlaces), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'storagePlaces');
  RemClassRegistry.RegisterXSClass(Warehouse, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'Warehouse');
  RemClassRegistry.RegisterXSClass(ItemStockLocation, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'ItemStockLocation');
  RemClassRegistry.RegisterXSInfo(TypeInfo(stockLocations), 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'stockLocations');
  RemClassRegistry.RegisterXSClass(Item, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'Item');
  RemClassRegistry.RegisterXSClass(wsFilterSortContent, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsFilterSortContent');
  RemClassRegistry.RegisterXSClass(wsAnd, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsAnd');
  RemClassRegistry.RegisterXSClass(wsOr, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsOr');
  RemClassRegistry.RegisterXSClass(wsFilter, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsFilter');
  RemClassRegistry.RegisterXSClass(wsSort, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsSort');
  RemClassRegistry.RegisterXSClass(wsProblem, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsProblem');
  RemClassRegistry.RegisterXSClass(wsParameter, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsParameter');
  RemClassRegistry.RegisterXSClass(Object_, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'Object_', 'Object');
  RemClassRegistry.RegisterXSClass(SrvBusObject, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'SrvBusObject');
  RemClassRegistry.RegisterXSClass(wsOption, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsOption');
  RemClassRegistry.RegisterXSClass(wsSession, 'urn:schemas-mySoapApp-ch:o2imessage_v1.20', 'wsSession');

end.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz