我想在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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)