AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem mit SOAP und Klassen
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit SOAP und Klassen

Ein Thema von helen · begonnen am 4. Jun 2006 · letzter Beitrag vom 5. Jun 2006
Antwort Antwort
helen

Registriert seit: 8. Mai 2004
42 Beiträge
 
#1

Problem mit SOAP und Klassen

  Alt 4. Jun 2006, 15:00
Hallo zusammen,

ich habe einen WebService gebastelt, welcher Methoden enthält, die eine Klasse als Parameter erhalten, wie beispielsweise

Code:
   function UploadFile (HFS_File : THFS_fselem; Dir : String) : String; stdcall;
Die Klassendeklaration von THFS_elem sieht so aus:

Code:
...
type
   THFS_fselem = class(TRemotable)
      private
         _filename : String;
         _localdir : String;
         _size : Int64;
         _filedata : TMemoryStream;
      published
         Constructor Create;
         Destructor Destroy; override;

         property LocalDir : String read _localdir;

         procedure LoadFromFile (FileURL : String);
         procedure SaveToDir   (FileDIR : String);
   end;
Die WSDL exportiert allerdings nur die Property. Alle Methode, Konstruktoren, etc werden nicht abgebildet.

Dürfen TRemotable Klassen keine Methoden verwenden?

Gruß
Helen
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#2

Re: Problem mit SOAP und Klassen

  Alt 4. Jun 2006, 15:55
Hallo,

ich bin nicht 100% fit in WebServices, aber ich glaube WSDL kennt keine Klassen im eigentlichen Sinne.
Das heißt also auch keine Methoden usw. der zu übertragenen Klassen.

Ich hatte mal ein prinzipiell ähnliches Problem. Also ich wollte komplexe Klassen, komplexer als Beans,
übertragen. Hab das dann so gelöst, dass ich nur "Datenträger-Klassen" mit setter/getter-Methoden übertragen hab
und sowohl client- als auch serverseitig andere Klassen hatte die die komplexen Funktionen übernommen
haben. Weiß aber nicht, ob das so wirklich sauber ist.

Eric.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
934 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Problem mit SOAP und Klassen

  Alt 5. Jun 2006, 16:03
Hallo,

so würde es gehen:

Delphi-Quellcode:
{ Invokable-Interface IFileLoader }
...
  
  THFS_fselem = class(TRemotable)
  ...
  published
     function ExistsFile(const FileURL : WideString): Boolean;
  ...
  end;

  IFileLoader = interface(IInvokable)
  ['{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}']
    ...
    function ExistsFile(const FileURL : WideString): Boolean; stdcall;
  end;
Delphi-Quellcode:
{ Invokable-Implementierungsdatei für TFileLoader das IFileLoader implementiert }

type

  { TFileLoader }
  TFileLoader = class(TInvokableClass, IFileLoader)
  public
    function ExistsFile(const FileURL : WideString): Boolean; stdcall;
  end;

implementation

function TFileLoader.ExistsFile(const FileURL : WideString): Boolean; stdcall;
var
  HFS_fselem : THFS_fselem;
begin
  HFS_fselem := THFS_fselem.Create;
  try
     Result := HFS_fselem.ExistsFile(FileURL);
  finally
     HFS_fselem.Free;
  end;
end;
Gruß
Alter Mann
  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 20:36 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