我正在从 .NET 客户端向 java webservice 进行 webservice 调用。Web 服务请求消息中的字段之一是小数。
它是使用代理请求对象设置的:
decimal value = 3.0
request.DecimalValue = value ;
javaService.Process(request);
当消息被序列化为soap 时,DecimalValue 设置为3.000000。然而,java web 服务出错了,因为它只需要小数点后 3 位数字。关于如何解决这个问题的任何想法?我无法控制 java web 服务。
添加:
java webservice 的模式将 DecimalValue 定义为
<xs:simpleType name="DecimalValue">
<xs:restriction base="xs:decimal">
<xs:totalDigits value="9" />
<xs:fractionDigits value="3" />
<xs:pattern value="\d{1,5}\.\d{3}" />
</xs:restriction>
通过添加对端点的引用来生成 Web 服务代理。