Nullable类型的方法在使用GET的ASMX Web服务中不起作用

我有一个ASMX Web服务设置为使用HTTP GET方法。 采用基本String和Int参数的简单方法正常工作,我可以调用MyService.asmx/MethodName?Param=Value并以XML格式获取响应。

但是,当我有一个具有可空Int(即int? )的方法时,我收到此错误:

Web服务方法名称无效。

错误消息令人困惑,因为该方法确实存在,而不是在GET范围内。 我认为这是因为可空类型太复杂而无法通过URL传递,但我找不到任何文档或SOpost。

我很欣赏Lists或自定义类等复杂类型无法使用GET,但我认为可以原生处理一个简单的可空int或可空日期,只需检测它是否从URL中省略。 猜猜不是那么简单!

任何建议或解决方法将不胜感激。

蒂姆,谢谢

nullable int不是太复杂。 它应该产生

   

在WSDL中。 看看这篇文章 。 也许这个错误可能是针对其他事情的?

如果你有这样的int,你必须使用json文本吗? 参数因为它是一个对象类型而不是基本类型。 该错误具有误导性,因为该服务存在。

如果你有int? 作为参数,您必须将“{‘a’:null}”作为内容发送到服务器或某个整数而不是null。