C# Soap请求不断发送错误的值

C# Soap请求不断发送错误的值,c#,soap,C#,Soap,我创建了一个调用服务的小型soap应用程序。应用程序读取脚本文件,拆分参数,并替换soap请求主体模板中的占位符 (长度缩写) 工具负责更换吗?50在正确的位置 当我不想发送任何参数时,我的问题就来了 MyAction||.... 我只是在做一个string.Split(),结果数组表示[1]==string.Empty 替换是这样的(endtag是在循环外部定义的,因此它在主体中进行) var endtag=body.IndexOf(“,endtag”) var beg=body.Subst

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

(长度缩写)

工具负责更换吗?50在正确的位置

当我不想发送任何参数时,我的问题就来了

MyAction||....
我只是在做一个string.Split(),结果数组表示[1]==string.Empty

替换是这样的(endtag是在循环外部定义的,因此它在主体中进行)

var endtag=body.IndexOf(“,endtag”)
var beg=body.Substring(0,endtag-1);
body=beg+param+body.Substring(endtag);
查看生成的实体,一切看起来都很好:

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

...
...
但是,当我的服务收到它时,字符串param1有“\n”

我不明白为什么会发生这种替换


非常感谢您的任何想法。

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

  • 或者根本不写
    元素
  • 或者向元素添加nil属性

  • 这是确保将空值传递给服务的最可靠的方法

    的SOAP参数值

    <param1></param>
    
    
    

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

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

  • 或者根本不写
    元素
  • 或者向元素添加nil属性

  • 这是确保将空值传递给服务的最可靠的方法

    的SOAP参数值

    <param1></param>
    
    
    

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

    我的期望是,发送空字符串时不一定使用空值。或者我确实打算发送null,希望WCF在默认情况下将其转换为string.empty。在我看到你的帖子之前,我确实解决了我的问题,我添加了代码,可以将前面提到的任何内容更改为立即关闭视图->我的期望是发送空字符串时不一定使用null。或者我确实打算发送null,希望WCF在默认情况下将其转换为string.empty。在我看到你的帖子之前,我确实解决了我的问题,我添加了代码,可以将前面提到的任何内容更改为立即关闭视图->
    <soap:Envelope...>
      ...
      <param1></param>
      ...
    </soap:Envelope...>
    
    <param1></param>