Hallo zusammen.
Bin gerade dabei einen lokalen WebService anzusprechen und via
XML die Daten hin und her zu schubsen.
Verbindung usw. klappt alles, zumindest wenn ich den
XML-Text per Hand schreibe und als WideString übergebe.
Das Problem habe ich, wenn ich den durch Delphi erstellen Quellcode zur
WSDL benutze:
Der Text des per Hand geschriebenen und automatisch erstellten weicht eigentlich nur in den ersten paar Zeilen ab, alles danach ist fast identisch.
Über das OnBeforeExecute wollte ich nun den Request stumpf per StringReplace abändern.
Delphi-Quellcode:
procedure Tdmt.htprMainBeforeExecute(
const MethodName:
string;
var SOAPRequest: WideString);
var
test: WideString;
begin
test := SOAPRequest;
test := StringReplace(test,WideString('
<s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> + #13#10'),'
');
test := StringReplace(test,WideString('
<To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://localhost:1200/38f9edad-b272-4649-917e-1180b4c5207e</To>' + #13#10),'
');
test := StringReplace(test,WideString('
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IPOS/Sign</Action>' + #13#10),'
');
test := StringReplace(test,WideString('
</s:Header>' + #13#10),'
');
test := StringReplace(test,WideString('
<data'),'
<tem:data');
test := StringReplace(test,WideString('
</data'),'
</tem:data');
SOAPRequest := test;
end;
Wenn ich mir während des Debuggens den Text anschaue, passt er auch. Wenn ich in die Konsole meines WebService schaue, kommt es aber so an, als ob ich überhaupt keine Änderungen gemacht hätte.
Könnte mir hier evtl. jemand auf die Sprünge helfen?