我已经添加了对公共(public)域 Web 服务的 Web 服务引用。
在调用其中一个 Web 服务 API 时,它需要对象所有属性的值。但据观察,如果属性具有以下属性“DefaultValue”。它根本不包含在 SOAP 请求中。
[System.Xml.Serialization.XmlAttributeAttribute()]
[System.ComponentModel.DefaultValueAttribute(false)]
public bool replaceAll {
get {
return this.replaceAllField;
}
set {
this.replaceAllField = value;
}
}
不知何故,这会造成问题并导致 Web 服务调用失败。是否有任何 Web 服务代理选项来强制 .NET 代理类在 SOAP 请求中包含此属性
最佳答案
我在向服务发送 SOAP 请求时遇到了类似的问题,然后我意识到应该指定另一个 bool 值以便将其包含在请求中:属性名称 +“指定”。
在您的例子中,它是 replaceAllSpecified。这应该设置为 true!
关于c# - 强制在来自 NET Web 服务代理类的 SOAP 请求中包含默认值属性属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23629983/