delphi - THttprio onBeforeExecute 更改soapRequest

标签 delphi wsdl delphi-2009

我已经为项目导入了一些 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/

相关文章:

c# - 如何在 .net 中调用没有 wsdl 的 web 服务

java - 如何在 CXF 中拦截 WSDL 请求?

delphi - delphi中有没有一个工具可以检查未使用的用途?

德尔福 FireDAC : how to refresh data in cache

delphi - Delphi XE3 中 Streams 的底层读/写方法是什么

delphi - Delphi中有类似PHP var_dump的函数吗?

sql - 对以下7个更新查询进行SQL优化。同一张 table 。合并成一个?

windows - Delphi SaveDialog 不显示

c# - 通过脚本任务调用 SSIS 中的安全 Web 服务

delphi - 如何在Delphi 2009中声明静态变量?