【发布时间】:2016-03-08 18:50:56
【问题描述】:
我正在使用 SOAPUI 调用具有十进制值的 WCF 端点。某个地方的值被转换为零。
我可以使用来自 .NET 应用程序的相同参数调用相同的服务,并且值不会被更改。我可以反序列化并检查从我的 .NET 应用程序和 SoapUI 传递的值,并且对象的两个反序列化版本是相同的。
我已经能够在 Fiddler 中捕获离开 SoapUI 的请求并且十进制值仍然完好,所以我知道它正在某处向下流转换。
这篇文章表明在生成代理时可能会发生这种情况: int properties are 0 when consuming WCF in .Net 2 - 但证据并未表明这是服务中的问题,而不是客户端中的问题。
抱歉,由于公司隐私限制,我无法共享 WSDL 和 XML。
【问题讨论】:
-
如果 SoapUI 将所有小数转换为零,您不会是第一个注意到的。请显示相关的 WSDL 和 XML。
-
xml架构中定义的数据类型是什么?
-
绝对不是小数。感觉像是一个设定。由于公司对代码共享的限制,我无法显示 WSDL 或 XML :-(
-
@Rao - 不 - 它的值相同。我也可以分享,请求和原始值是
<v12:TotalContentValue>8.000000</v12:TotalContentValue> -
谢谢@Rao。我已经用 Fiddler 跟踪了这条消息,并且可以证明它在 SoapUI 中没有被改变,而是在下游的某个地方。问题已更新以反映新发现。