AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Bugs in den Webservices von Delphi ?

Bugs in den Webservices von Delphi ?

Ein Thema von LuckySpacy · begonnen am 6. Sep 2006 · letzter Beitrag vom 13. Jun 2013
Antwort Antwort
LuckySpacy

Registriert seit: 2. Apr 2003
Ort: Fränkisch-Crumbach
50 Beiträge
 
Delphi 10.4 Sydney
 
#1

Bugs in den Webservices von Delphi ?

  Alt 6. Sep 2006, 10:05
Ich beschäftige mich jetzt zum ersten mal mit den Webservices in Delphi.
Dabei habe ich eine wsdl-Datei bekommen, die ich in Delphi importiert habe.
Nachdem ich alles soweit hatte und den ersten Test gemacht habe, flog mir das Delphi-Programm um
die Ohren.

Meldung :
Zugriffsverletzung bei Adresse 00492069 in Modul 'WS_Test.exe'. Lesen von Adresse 00000000.

Nach langem suchen und debuggen bin ich auf das Problem gestoßen.
Und zwar ist eines der Rückgabe folgende:
<shipmentDate xsi:nil="true" xmlns="http://....." />

Hier wird ein Datumswert erwartet, der unter anderem so aussehen könnte:
<shipmentDate xmlns="http://.....">2006-04-16T09:02:50.665Z</shipmentDate>

Da aber nil übergeben wird, bekomme ich eine exception in xsBuiltIns.pas
Delphi-Quellcode:
procedure TXSDateTime.XSToNative(Value: WideString);
var
  BaseDate: TXSBaseDateTime;
begin
  BaseDate := GetBaseDateTime(Value); // <-- Hier entsteht die exception, da Value = '' ist
  try
    FDateTime := Value;
  finally
    BaseDate.Free;
  end;
end;
Das ist Problemnummer 1

Hier das zweite Problem:
Es werden auch boolsche Werte übergeben.
Nach dem importieren der wsdl-Datei hat Delphi mir eigenständig ein Objekt generiert.
Unter anderem hat Delphi folgenden Eintrag gemacht:
property rueckrufAktion: Boolean read FrueckrufAktion write FrueckrufAktion;

Die Rückgabe in der Form eines xml-Doc sieht so aus:
<rueckrufAktion xmlns="http://....">0</rueckrufAktion>

Hier kommt es ebenfalls zu einer Fehlermeldung:
Ungültiges Eigenschaftselement: 0

Ändere ich den von Delphi generierten Code in
property rueckrufAktion: WideString read FrueckrufAktion write FrueckrufAktion;
um, dann kann ich ohne Fehler den Wert auslesen.

Meine Fragen:
Warum generiert mir Delphi eine boolsche Variable, wenn es beim Füllen zu einer Fehlermeldung führt?
Handelt es sich hierbei um einen Bug?

Was mache ich mit der Umsetzung des Datumswertes?
Ist es ein Fehler in Delphi?
Hat jemand schon das Problem gehabt?
Wie wurde das Problem gelöst?
Thomas Bachmann
  Mit Zitat antworten Zitat
LuckySpacy

Registriert seit: 2. Apr 2003
Ort: Fränkisch-Crumbach
50 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Bugs in den Webservices von Delphi ?

  Alt 16. Nov 2006, 08:09
Ich habe inzwischen einen neuen bug gefunden.
Im WSDL Importer funktioniert das generieren von dynamischen Arrays nicht.
Siehe dazu:
Webservices (wsdl) und dynamische Arrays

Das ist aber nicht der Grund dieses postings.

Durch das Suchen noch einer Lösung, habe ich Bugfixes gefunden, die zu diesem Thema hier passen.

Hier ist der Link:
Unofficial SOAP Bug Fixes
Thomas Bachmann
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#3

AW: Bugs in den Webservices von Delphi ?

  Alt 12. Jun 2013, 15:17
Hallo,

auch wenn dies ein sehr altes Thema ist, aber dieses Problem habe ich zur Zeit

Zitat:
Im WSDL Importer funktioniert das generieren von dynamischen Arrays nicht.
Der Link funktioniert nicht und dieser http://edn.embarcadero.com/article/28514# schein keine Lösung für das Problem zu bieten.

Hat jemand eine Lösung für dieses Problem?

Gruß

Touchdown
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Bugs in den Webservices von Delphi ?

  Alt 12. Jun 2013, 15:20
Welche Delphi-Version? D6/7 und Co haben bekanntermassen einige größere SOAP-Bugs.
AFAIK sind hier neuere Delphi-Versionen besser.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#5

AW: Bugs in den Webservices von Delphi ?

  Alt 12. Jun 2013, 15:25
Hallo,

ich verwende Delphi 2007, es wundert mich auch etwas, dass dieses Problem immer noch besteht.
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Bugs in den Webservices von Delphi ?

  Alt 12. Jun 2013, 15:39
Hallo,

ich verwende Delphi 2007, es wundert mich auch etwas, dass dieses Problem immer noch besteht.
Weiß jetzt nicht ob D2007 schon zu den neuen Delphi-Versionen zählt bei der die SOAP-Implementierung grundlegend überarbeitet wurde.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#7

AW: Bugs in den Webservices von Delphi ?

  Alt 12. Jun 2013, 15:59
Ich hab eine Lösung gefunden, es ist der Hammer.

Geht nicht:
Code:
setlength(liste, 1);    
inputData.liste := liste;

Funktioniert, kein Fehler:
Code:
inputData.liste := liste;
setlength(liste, 1);
Da bin ich echt platt

Delphi ist vollkommen schuldlos, aber ich hatte schon früher Probleme, deswegen war ich doch sehr fixiert auf die Soap Komponenten ...
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#8

AW: Bugs in den Webservices von Delphi ?

  Alt 13. Jun 2013, 12:31
Dies war nur ein Workaround, aus einem technischem Fehler wurde ein fachlicher. Das entsprechende Feld war nicht mehr in der XML und so kann dieser Wert nicht übertragen werden.

Hat jemand eine Idee welche Komponenten Source für die XML Erzeugung verantwortlich ist?
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:41 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