Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: SOAP Client Problem treibt mich in den Wahnsinn

  Alt 11. Feb 2019, 13:20
Wenn es dann immer noch nicht geht, weiß ich auch nicht mehr.
Du könntest dein eigens THTTPRIO-Objekt erzeugen und das verwenden.
Da kannst du dich in dem OnBeforeExecute-Eventhandler hängen.
Du bekommst den Request als Stream geliefert, kurz bevor er gesendet wird.
Diesen Stream kannst du in einen lokalen TStringStream laden und dir per Datastring-Property den Inhalt holen, alles was zuviel ist löschen und weiterschicken bzw. eine Stringkonstante mit dem Request aus SoapUI verwenden.
Man kommt irgendwie auch an die Header von THTTPRIO.SOAPHeaders ran, aber da bin ich nicht so fit.

Delphi-Quellcode:
procedure TDeineKlasse.OnBeforeExecute(const MethodName: string; SOAPRequest: TStream);
var
  StringStream: TStringStream;
begin
  StringStream := TStringStream.Create;
  try
    StringStream.LoadFromStream(SOAPRequest);
    //optionales anzeigen:
    OutputDebugString(PChar(StringStream.DataString));

    Stream.DataString := 'Hier mit konstanten string füllen';

    (SOAPRequest as TMemoryStream).Clear;
    (SOAPRequest as TMemoryStream).LoadFromStream(StringStream);
  finally
    StringStream.Free;
  end;
end;
  Mit Zitat antworten Zitat