我已经为项目导入了一些 wsdl。 我想更改 HttpRio onBeforeExecute 事件上的 SoapRequest,但是 当我更改请求时,我收到一些错误,如何更改请求 xml 文件 在此事件上使用 stringReplace 函数。
我尝试更改流的大小,更改编码等,但无论如何它都不起作用。
示例
procedure TForm1.RiomBeforeExecute(const MethodName: string; SOAPRequest: TStream);
var
sTmp : TStringList;
begin
sTmp:=TStringList.Create;
SOAPRequest.Position := 0;
sTmp.LoadFromStream(SOAPRequest);
sTmp.Text := StringReplace(sTmp.Text,'blablaa','bla',[RfReplaceAll]);
sTmp.SaveToStream(SOAPRequest);
// blaa blaa...
end;
最佳答案
procedure TForm1.RiomBeforeExecute(const MethodName: string; SOAPRequest: TStream);
var
sTmp : TStringList;
begin
sTmp:=TStringList.Create;
SOAPRequest.Position := 0;
sTmp.LoadFromStream(SOAPRequest);
sTmp.Text := StringReplace(sTmp.Text,'blablaa','bla',[RfReplaceAll]);
**SOAPRequest.Postion:=0**;// i forget this here, as i write the code that worked
sTmp.SaveToStream(SOAPRequest);
// blaa blaa...
end;
关于delphi - THttprio onBeforeExecute 更改soapRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2814850/