delphi – THttprio onBeforeExecute更改soapRequest

delphi – THttprio onBeforeExecute更改soapRequest,第1张

概述我为项目导入了一些wsdl. 我想在HttpRio onBeforeExecute事件上更改SoapRequest,但是 因为我更改了请求,我得到一些错误如何更改请求xml文件 在此事件中使用stringReplace函数. 我试图改变流的大小,我改变了编码等,但无论如何它没有工作. 例 procedure TForm1.RiomBeforeExecute(const MethodName: st 我为项目导入了一些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;
解决方法 可能的增强……我发现,根据我的情况(这是在肥皂反应中,顺便说一下,如果重要的话),如果结果请求比原始请求短(并且在你的情况下是),那就是将新字符串写回流中时遗留下来.
例如:

original: <blablaa some stuff>intended: <bla some stuff>actual:   <bla some stuff>uff>

固定:

SOAPRequest.Postion:= 0; //我在这里忘记了这一点,因为我编写了有效的代码SOAPRequest.size:= length(sTmp.Text); //重要 – 保存前设置新长度.sTmp.SavetoStream(SOAPRequest);

总结

以上是内存溢出为你收集整理的delphi – THttprio onBeforeExecute更改soapRequest全部内容,希望文章能够帮你解决delphi – THttprio onBeforeExecute更改soapRequest所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1251322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存