Einzelnen Beitrag anzeigen

Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: SOAP-Abfrage führt zu Abstürz des Programms

  Alt 19. Mär 2009, 19:41
Hallo

vielleicht hilft es dir, mal zu vergleichen, was als soap-envelope übertragen wird.

Ich würde mal SoapUI oder soapscope probieren, damit kannst Du den Webserice testen, ohne ein Stückchen code zu schreiben. einfach wsdl aufrufen und du kannst die Methoden einfach ausprobieren. Mit beiden Programmen kannst du Den Request und die Response als xml anzeigen lassen und mal mit deinem Delphi-programm vergleichen:

Du kannst eine httprio-Komponente mit auf die Form zeihen und deinen Aufruf in
test := GetMyWebService(false,'',HttpRio) ändern.
in der httprio-Kompo hast du dann 2 Ereignisse onbeforeexecute und onafterexecute

Delphi-Quellcode:
procedure TForm_xyz.HTTPRIODebugAfterExecute(const MethodName: string; SOAPResponse: TStream);
Var sl:Tstrings;
begin
  sl:=TStringList.Create;
  try
    sl.LoadFromStream(SOAPResponse);

    sl.SaveToFile('blub:\'+'SoapResponse.xml');
  finally
    sl.free;
  end;
end;
Delphi-Quellcode:
procedure TForm_xyz.HTTPRIODebugBeforeExecute(const MethodName: string; var SOAPRequest: WideString);
Var sl:Tstrings;
begin
  sl:=TStringList.Create;
  try
    sl.Text:=SOAPRequest;
    sl.SaveToFile('blub:\'+'Soaprequest.xml');
  finally
    sl.free;
  end;
end;
ich habe teilweise das Problem, das irgendwelche Schemas nicht richtig gesetzt werden. Ich muß immer den request anpassen, weil ich keine andere Lösung weiß.

Gruß Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat