Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在开发一个由 SAP 安装调用的 WCF Web 服务,并且遇到了与负数序列化相关的问题。他们传递的值是“123.45-”而不是“-123.45”,这会导致反序列化阻塞。我想我可以通过将所有内容定义为 XML 中的字符串然后手动查找尾随符号来解决它。
我的问题是这甚至是一个有效的 XML 数字表示吗?我找到了这个页面,这似乎表明标志(如果存在)必须在数字之前。在一天结束时,我将不得不添加处理他们发送的任何内容。我想这只是自我想知道从规范的角度来看这实际上是错误的;)
这不是严格意义上的XML 模式的有效数字表示。如果您谈论的是 SOAP 端点,您可以浏览到服务 WSDL 文件,然后按照请求和响应中预期的架构的链接进行操作 - WCF 通常会使用 xs:int、xs:decimal、xs:double 等. 表示数字类型。
接下来要做什么取决于您可以在多大程度上影响客户为您发送“有效”号码。如果你不能,并且你必须支持现有的请求,那么它对你的场景变得“有效”,你需要以某种方式处理这些请求。也许不是一个理想的世界,但有时互操作会导致这些问题。