Webservice Toolkit

Rund um die LCL und andere Komponenten
Antworten
psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Webservice Toolkit

Beitrag von psycodad »

Ich hab das Webservice Toolkit installiert (lazarus 0.96 Beta).

Folgenden Probleme:
1. Type Library Editor kann nicht gestartet werden. "Error reading srcinterface.Gutter.OnChange: Unknown property "OnChange". Hat jemand eine Idee?

2. Ich versuche einen Webservice client zu machen, der auf einen einfachen webservice zugreift, der in delphi geschrieben wurde. Ich krieg das aber nicht zu laufen. Habe das Amazon projekt als Vorlage genommen und das tutorial durchgelesen. Habe also die WSDL Datei meines Webservices durch WSDL File importer gejagt und die generierten Units ins Projekt aufgenommen. Sobald ich aber aus meiner mini-test-app einen methodenaufruf auf das generierte webservice-interface machen will, stürzt die ganze Sache ab (access violation).
Hat da jemand Erfahrung damit?
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von monta »

1. Type Library Editor kann nicht gestartet werden. "Error reading srcinterface.Gutter.OnChange: Unknown property "OnChange". Hat jemand eine Idee?
Einfach in der Datei uwsttypelibraryedit.lfm die Zeilen mit

Code: Alles auswählen

Gutter.OnChange = nil
löschen (2 mal), dann kompiliert es wunderbar mit 0.9.26.
Johannes

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

Vielen Dank, erstes Problem gelöst.

Ich hab mal die WSDL Datei hier gepostet. Ist wirklich ein einfacher Test Webservice. Er macht nichts anderes, als das gesendete Objekt wieder zurückzugeben.Ich kriegs nicht zu Laufen (Ärger...). Ich habs mit Synapse und Indy probiert, das scheint aber nicht das Problem zu sein.

Hier der Aufrufcode:

Code: Alles auswählen

procedure TForm1.Button2Click(Sender: TObject);
var
   res: TSession;
   locService: IWS_Plotjet;
begin
  //Test Webservice
  Indy_RegisterHTTP_Transport();
  res := TSession.Create();
  try
    locService := wst_CreateInstance_IWS_Plotjet();
    res.AdressLinie := 'TestAdresse';
    res.Firma := 'TestFirma';
    res := locService.GetSession(res); //<-- Hier krachts 
    edtName.text := res.Firma;
    edtVorname.Text:= res.AdressLinie;
  finally
    FreeAndNil(res);
  end;
end;
und zwar hier:

Code: Alles auswählen

function TBaseProxy.GetSerializer(): IFormatterClient;
begin
  Result := FProtocol.GetSerializer();
end;
ppcclient raises exception class: 'External SIGSEGV'

Als nächstes erscheint folgende Fehlermeldung:
Ausführung angehalten
Adresse: $7C91E460
Prozedur ntdll!LdrDisableThreadCalloutsForDLL

Kann mir jemand helfen? Das wäre Toll.
PJ4512.txt
WSDL zum Webservice Toolkit füttern (Einfach zu *.wsdl umbenennen)
(2.13 KiB) 73-mal heruntergeladen
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

Übrigens: Unter Delphi 2007 importiere ich die WSDL Datei mit dem WSDL Assistent. Es wird eine Unit generiert mit den Typen und dem Schnittstellen Objekt. Habs in 5 Minuten am Laufen gehabt. Wäre es ev. möglich, die SOAP Implementation von Delphi nach Lazarus zu portieren? Ist das dann noch plattformunabhängig.
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

Hintergrund:
Ich habe einen einfachen Client für einen Webservice unter Windows (Delphi), der bei ca. 100 Usern zuverlässig seinen Dienst verrichtet. Da wir immer mehr Mac-User in unserem Kundenkreis haben, soll ich nun eine Version des Clients für Mac und ev. auch für Linux erstellen. Meine Idee war es, den ganzen Client neu in FreePascal zu schreiben und für die verschiedenen Zielsysteme zu compilieren. Der Client muss folgendes können:
- Kommunikation mit Webservice über SOAP -> Krieg ich im Moment nicht hin
- DragDrop von Files auf das Hauptformular -> Krieg ich hin
- Upload von Files -> Weiss ich im Moment noch nicht wie..

Die Alternative wäre, einen Mac-Version in XCode zu schreiben. Oder ich benutze RealBasic, dass ebenfalls für alle drei Plattformen Executables erzeugen kann und über eine Cross-Library verfügt..
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

So, bin etwas weiter gekommen. Der Fehler lag darin, dass ich vergessen hatte, ein paar Units in die Uses Sektion aufzunehmen. Ich weiss, ich weiss, Anfängerfehler.
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

Nun fällt das Webservice Toolkit beim Parsen der Antwort hin. Übrigens auch beim Amazon Beispiel. Es gibt exceptions beim Auslesen der Parameter.
Mal schauen...
Ev. hat oder hatte hier jemand ähnliche Probleme?
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von monta »

du bist warhscheinlich der Einzige, der das nutzt ;)
Johannes

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

Ok, dann ist das wohl eine Einbahnstrasse. Ich werd heute nochmals probieren, das Problem zu lösen. Ansonsten begrabe ich meine freepascal-Pläne (was ich sehr, sehr bedaure) und werde mal mit XCode und Objective-C aufm Mac rumfummeln. :cry:
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

Ich hab mal das Projekt gezippt. Ev. kann mir jemand weiterhelfen. Als Voraussetzung muss Synapse und das Webservice Toolkit in Lazarus installiert sein. Die Pfade zu den units von Synapse und Webservice Toolkit muss ev. in Compilereinstellungen angepasst werden.

Der Webservice tut nichts anderes, als das gesendete Objekt wieder zurückzusenden..

I have made a little small test webservice with one function. You can see the wsdl on http://www.plotjet.ch/ws/4.5.1.2.dll/wsdl/IWS_Plotjet" onclick="window.open(this.href);return false; (Description on http://www.plotjet.ch/ws/4.5.1.2.dll?intf=IWS_Plotjet" onclick="window.open(this.href);return false;).
The service does nothing, it simply echoes the TSession object. I zipped the free pascal client code in the attachment. Maybe you can help me?


Hiiilfe :oops:
Dateianhänge
ppcclient.zip
Mein kleines Projekt
(82.1 KiB) 77-mal heruntergeladen
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

Benutzeravatar
theo
Beiträge: 10952
Registriert: Mo 11. Sep 2006, 19:01

Re: Webservice Toolkit

Beitrag von theo »

Frag doch Inoussa, der müsste es eigentlich am besten wissen:
http://inoussa12.googlepages.com/" onclick="window.open(this.href);return false;

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Webservice Toolkit

Beitrag von creed steiger »

oder die Mailing list
http://groups.google.com/group/wst-list" onclick="window.open(this.href);return false;

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

Vielen Dank. Ich hab Anschluss gefunden.. :-)
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

Inoussa hat mir ein link auf den Webservice Toolkit 0.6 zum download per svn gesendet. Damit funzts tadellos, auch unter Mac getestet.
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

psycodad
Beiträge: 18
Registriert: Mi 13. Dez 2006, 12:57
OS, Lazarus, FPC: Win OS X (L 0.9.28 FPC 2.4.3)
CPU-Target: 32Bit/64Bit
Wohnort: Embrach ZH / Schweiz
Kontaktdaten:

Re: Webservice Toolkit

Beitrag von psycodad »

An dieser Stelle möchte ich mich nochmals für den den tollen Support bei Inoussa und all den anderen bedanken!
Bin ein richtiger Lazarus-Fan geworden.
Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank.... Bertolt Brecht

Antworten