![]() |
SOAP Problem
Hallo Leute,
versuche mich gerade mit QAddress. Vielleicht kennt ja einer von euch den Service. Mein Problem ist, dass ich kein Response bekomme. Versuche seit gestern irgendwelche Einstellungen und Möglichkeiten zu finden, dass es doch funktioniert, klappt nur irgendwie nicht.
Delphi-Quellcode:
UCheckAddressSimple erwartet ein Objekt vom Typ UCheckAddressSimple und gibt ein Objekt vom Typ UCheckAddressSimpleResponse zurück. Die Einstellungen von HTTPRIO sind folgende:
var checks : UCheckAddressSimple;
results : UCheckAddressSimpleResponse; begin try checks := UCheckAddressSimple.Create; checks.UserName := 'test'; checks.UserPassword := 'test'; checks.Tolerance := 1; checks.Country := 'DE'; checks.ZIP := '41252'; checks.City := 'Sp'; checks.Street := 'Eugen-Bolz-Straße'; results := UCheckAddressSimpleResponse.Create; results := (HTTPRIO1 as QACWebServiceSoap).UCheckAddressSimple(checks); finally FreeAndNil(results); FreeAndNil(checks); end; Port: QACWebServiceSoap12 Service: QACWebService WSDLLocation: ![]() Bekomme folgende Fehlermeldung: URL/Endpunkt für Service/Port 'QACWebService/QACWebServiceSoap12' kann nicht von WSDL 'http://qws2.de/ACWS/QaCWebService.asmx?WSDL' gelesen werden. Benutze ich den anderen Port der mir zur Verfügung steht: QACWebServiceSoap Kommt diese Fehlermeldung: Element enthält keinen einzelnen Textknoten Bitte um eure Hilfe. Viele Grüße hungrycoder |
AW: SOAP Problem
Zur Einkreisung des Problems ist ein Vergleich des von Delphi erzeugten Requests mit einem "funktionierenden" SOAP Request auf diesen Service sinnvoll.
Ideal ist es, wenn der Web Service eine Dokumentation mit vollständigen Request/Response Beispielen enthält. In der Realität hilft dann SoapUI weiter, wenn damit eine korrekte Response kommt, muss man nur noch den SoapUI Request mit dem Delphi Request vergleichen. |
AW: SOAP Problem
@mjustin danke für deine schnelle Antwort. Hatte vergessen es oben zu schreiben. Bekomme mit SOAPUI mit gleichen Einstellungen einen Response zurück, nur mit Delphi haut es noch nicht so hin.
Die Beispiele in der Doku beziehen sich zwar auf C# konnte es aber richtig umschreiben. Deswegen bin ich auch am verzweifeln, da mir keine weiteren Möglichkeiten einfallen etwas anders zu machen...Noch Ideen? |
AW: SOAP Problem
Zitat:
Also Delphi Request aufzeichnen, als Text speichern, dann mit einem Diff Tool die Unterschiede untersuchen... |
AW: SOAP Problem
@mjustin
Das Problem besteht ja auch darin, dass an der Stelle an der ich den Request anschauen möchte eine Fehlermeldung kommt und er alles weitere abbricht. Ich kenne mich mit SOAP überhaupt nicht aus, was sind die häufigsten Fehler? Vielleicht muss ich nur etwas ändern?! |
AW: SOAP Problem
Welche Delphi-Version wird verwendet?
Hier wurde über die Jahre viel gestrickt damit es halbwegs funktioniert. |
AW: SOAP Problem
Zitat:
![]() Die IP-Adresse des Fiddler Proxyservers (normalerweise läuft auf der Workstation, also 127.0.0.1) wird dazu im Client eingetragen (wenn ich mich richtig erinnere als "ProxyHost"). SOAP kann ein steiniges Pflaster sein :) |
AW: SOAP Problem
@mjustin
Das klingt irgendwie monströs. Ich habe es geschafft den Response und den Request in Delphi auszugeben. Das Problem besteht also nach wie vor nach dem ich die Funtkion aufgerufen habe. Der Fehler heißt nun: Element enthält keinen einzelnen Textknoten Die Fehlermeldung an sich nervt mich eigentlich nicht, das Problem ist nur, dass ich auf den Response keinen Zugriff habe. Die Response Anzeige habe ich beim OnAfterExecute durch den Stream des Responses bekommen. Hat jemand eine Idee woran diese Fehlermeldung liegen könnte? @Bernhard Geyer Benutze Delphi 2007. |
AW: SOAP Problem
hm.. warum erzeugst Du den response selber und wunderst dich, dass die Fehlermeldung kommt, dass ein Textknoten leer ist?
Versuch es mal so: Bei mir klappt das nicht, weil die Login-Informationen fehlen, die such ich mir jetzt aber nicht auch noc zusammen...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var checks : UCheckAddressSimple; Response : UCheckAddressSimpleResponse; begin try checks := UCheckAddressSimple.Create; checks.UserName := 'test'; checks.UserPassword := 'test'; checks.Tolerance := 1; checks.Country := 'DE'; checks.ZIP := '41252'; checks.City := 'Sp'; checks.Street := 'Eugen-Bolz-Straße'; Response := GetQACWebServiceSoap.UCheckAddressSimple(checks); memo1.Lines.Add(Response.UCheckAddressSimpleResult.ErrorMessage); Memo1.Lines.Add(IntToStr(Response.UCheckAddressSimpleResult.ErrorCode)); Memo1.Lines.Add(IntToStr(Response.UCheckAddressSimpleResult.ResultStatus)); finally FreeAndNil(Response); FreeAndNil(checks); end; end; |
AW: SOAP Problem
da kommt dann genau die gleich fehlermeldung
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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 by Thomas Breitkreuz