肥皂请求不断发送错误的值

本文关键字:错误 请求 肥皂 | 更新日期: 2023-09-27 18:34:50

我创建了一个调用服务的小型肥皂应用程序。应用程序读取脚本文件,拆分参数,并替换 SOAP 请求正文模板中的占位符。

(长度缩写(

<soap:Envelope...>
  ...
  <param1>?</param>
  ...
</soap:Envelope...>

脚本看起来像

myAction|50|...

并且该工具负责在正确的位置将 ? 替换为 50。

当我想为参数发送任何内容时,我的问题就来了。

MyAction||....

我只是在做一根绳子。Split((,结果数组表示 [1] == 字符串。空

替换是这样的(结束标签是在循环外部定义的,因此它通过正文进行(

 var endtag = body.IndexOf("</" + param + ">", endtag)
 var beg = body.Substring(0, endtag - 1);
 body = beg + param + body.Substring(endtag);

查看生成的正文,一切看起来都很好:

<soap:Envelope...>
  ...
  <param1></param>
  ...
</soap:Envelope...>

但是,当我的服务收到它时,字符串 param1 具有"'">

我不知道为什么会发生这种替换。

任何想法都值得赞赏。

肥皂请求不断发送错误的值

您有 2 个选项来处理缺少 SOAP 参数的问题。

  1. 要么根本不写<param1>元素
  2. 或向元素添加 nil 属性。

这是确保将 NULL 值传递到服务的最可靠方法。

一个 SOAP 参数值

<param1></param>

实际上可以引用空字符串(不是空值(