C# 当从C调用时,如何选择性地从soap调用中省略一些参数(值类型)#

C# 当从C调用时,如何选择性地从soap调用中省略一些参数(值类型)#,c#,web-services,soap,wsdl,nullable,C#,Web Services,Soap,Wsdl,Nullable,我从一个客户那里收到了一个WSDL,并创建了一个可以在.NET中使用的代理类。WSDL包含一个带有大量参数的调用 在我的代码中,我从Microsoft CRM中的实体收集数据。实体中的某些字段是必填字段,而其他字段则不是。结果是,我可以检索到一个实体,其中包含必须通过SOAP接口发送的缺少(非必需)字段 生成的代理类包含具有大量参数的方法签名。当我用一个引用类型参数“null”调用该方法时,它工作得很好。有时,值类型参数为“null”(不在实体中返回)。我无法在代理类中调用生成的方法,因为代理中

我从一个客户那里收到了一个WSDL,并创建了一个可以在.NET中使用的代理类。WSDL包含一个带有大量参数的调用

在我的代码中,我从Microsoft CRM中的实体收集数据。实体中的某些字段是必填字段,而其他字段则不是。结果是,我可以检索到一个实体,其中包含必须通过SOAP接口发送的缺少(非必需)字段

生成的代理类包含具有大量参数的方法签名。当我用一个引用类型参数“null”调用该方法时,它工作得很好。有时,值类型参数为“null”(不在实体中返回)。我无法在代理类中调用生成的方法,因为代理中方法的(值类型)参数不可为null

是否可以在.NET端使用可空类型(bool?,long?),从而在SOAP端生成“ 这个问题的答案并不能解决我的问题: 这个问题涉及一个可选参数。这可以通过重载来解决。在我的例子中,签名有30多个参数,其中7个是有时没有值的值类型。如果我用重载实现,我需要128个重载方法来匹配所有组合

我尝试在代理类中设置可选参数:

长期以来, [System.Xml.Serialization.xmlementAttribute(IsNullable=true)]长?会计报表, 字符串accountName


这导致System.InvalidOperationException“方法xxx无法反映。“内部异常”反映“accountLegalForm”时出错。”

这就是您要查找的吗?不,那不是我要找的。该调用有33个参数,其中7个值类型可能“缺失”。我不能用重载来解决这个问题…这是你想要的吗?不,那不是我要找的。该调用有33个参数,其中7个值类型可能“缺失”。我不能用重载来解决这个问题…可能是