0

我正在开发一个由 SAP 安装调用的 WCF Web 服务,并且遇到了与负数序列化相关的问题。他们传递的值是“123.45-”而不是“-123.45”,这会导致反序列化阻塞。我想我可以通过将所有内容定义为 XML 中的字符串然后手动查找尾随符号来解决它。

我的问题是这甚至是一个有效的 XML 数字表示吗?我找到了这个页面,这似乎表明标志(如果存在)必须在数字之前。在一天结束时,我将不得不添加处理他们发送的任何内容。我想这只是自我想知道从规范的角度来看这实际上是错误的;)

4

1 回答 1

1

这不是严格意义上的XML 模式的有效数字表示。如果您谈论的是 SOAP 端点,您可以浏览到服务 WSDL 文件,然后按照请求和响应中预期的架构的链接进行操作 - WCF 通常会使用 xs:int、xs:decimal、xs:double 等. 表示数字类型。

接下来要做什么取决于您可以在多大程度上影响客户为您发送“有效”号码。如果你不能,并且你必须支持现有的请求,那么它对你的场景变得“有效”,你需要以某种方式处理这些请求。也许不是一个理想的世界,但有时互操作会导致这些问题。

于 2012-10-04T20:15:36.697 回答