我们已经在VB.NET中针对我们客户提供给我们的WSDL文件生成了一个Web服务.
在测试中,我们的客户提出了一个问题,抱怨我们的Web服务生成的XML对布尔值使用'true'和'false',而不是'1'和'0'.此外,他们建议我们的实施因此而"破裂".
我的印象是'真/假'和'1/0'在这种情况下是可以互换的吗?
无论哪种方式,所有的XML序列化都是由.NET框架处理的,而不是我们的代码 - 所以我认为我几乎没有机会改变它?!
任何人都可以向我指出一些文件,要么支持我的故事,要么证明我错了?如果我错了,有谁知道我怎么能改变这种行为?
提前致谢...
与 WSDL 无关,而是与 XML 相关:曾经有一位客户声称他们无法读取我们的 XML 文件,并坚持要求我们按照标准生成 XML 文件。不幸的是,他们的标准与官方标准不同。例如,他们无法解析注释,XML 标头有问题,并且他们希望 XML 能够在每个元素后通过换行符很好地缩进。为什么?因为他们编写了自己的 XML 解析器,所以无法遵循真正的标准。
由于我们的软件也被其他客户使用,我们首先想向他们发送“手指”,让他们静静地消失。但营销部门的一位人员发现了一种更好的解决方案,我们的一位开发人员被派往该客户那里,就 XML 的正确使用提供更多建议。我们教育了客户,他们突然意识到他们不必编写自己的解析器。我们帮助他们改进了自己的代码库,并让他们非常高兴,因为我们通过教育他们解决了问题。所有这一切都只需支付少量的额外费用,因此营销也很高兴。:-)
不过还有一个替代方案!将布尔值替换为您自己的枚举。例如是/否或类似的内容。优点是您可以使用其他值扩展这些枚举,例如 yes/no/maybe 甚至yes/no/filenotfound ...
不过,布尔值通常是首选,并且为了保持 SOAP 消息易于阅读,您最好使用 true/ false,因为当您使用 1/0 时人们往往会犯错误。为什么?很简单,1是真的吗?还是假的?在某些编程语言中,-1 表示 true。在较古老的语言中,1 表示 false。(因为在这些语言中,布尔值是一种错误位,如果设置等于 1,则表示错误。)
因此,可读性应该意味着您应该更喜欢使用 true/false,否则最终会讨论为什么 1 意味着真的...
| 归档时间: |
|
| 查看次数: |
19827 次 |
| 最近记录: |