AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Webservice: String als null übergeben?
Thema durchsuchen
Ansicht
Themen-Optionen

Webservice: String als null übergeben?

Ein Thema von Phoenix · begonnen am 9. Dez 2008 · letzter Beitrag vom 15. Sep 2012
 
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.643 Beiträge
 
#25

Re: Webservice: String als null übergeben?

  Alt 9. Dez 2008, 23:45
Egal, ob ich #0 oder auch einen Leerstring übergebe: Der Webservice ist der Meinung, ich hätte eine HistoryID übergeben und schmeisst eine Exception, dass die Snapshots nicht aktiviert seien.

Das stdcall hat übrigens gar nichts mit einer dll zu tun. Ich weiss nicht genau, warum das ein stdcall sein muss, es wird halt genau so generiert.

Den Datentyp in der generierten Unit kann ich auch nicht auf PChar ändern, denn dann schmeisst mir der Compiler einen Fehler, dass der Typ PChar für diesen Aufruf nicht definiert sei. Das heisst also, ich kann keine Typen verwenden, die nicht im WSDL definiert werden.

Allerdings habe ich eine Lösung gefunden, wenn auch eine extrem unsaubere:
Ich habe den Aufruf in dem Remoting-Objekt mit overload gekennzeichnet, und einen gleichlautenden Aufruf deklariert, der diesen einen Parameter nicht hat.

Im Code überprüfe ich nun, ob die HistoryId EmptyStr ist, und wenn ja, rufe ich die Methode ohne den Parameter auf und wenn ich einen Wert habe halt die mit dem Parameter.

Ist der Parameter nicht im Methodenaufruf, wird der Wert im Soap-Envelope gar nicht mitgeschickt und vom Webservice als nicht angegeben -> null interpretiert.

Das Problem ist also gelöst (wenn auch durch einen Hack). Morgen früh werde ich wohl mit dem nächsten Problem kommen
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
 


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 10:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz