当客户端输入为无效字符串时,java从JAXWS接收空的BigDecimal
我正在使用WSDL(契约优先)开发一个Web服务,该WSDL将其中一个字段定义为十进制类型,JAXB在生成客户机代码时将其转换为BigDecimal
到目前为止还不错。但当我使用SoapUI进行测试时,如果我发送一个无效的字符串给这个字段(比如“xxxx”),我会在服务器端收到一个空的BigDecimal。如果我发送了一个有效的数值,就可以了
我不能说这种行为对我来说毫无意义。API可能从BigDecimal的构造函数中获取NumberFormatException,并且只发送一个空值,以避免在到达服务器端之前抛出异常
但在我结束这个问题之前,我想确认一下这种行为,或者学习一些“修复”,让我自己处理可能的转换错误。到目前为止,我还没有找到任何关于这个场景的文档。另外,我在调试API时也没有发现任何可疑的东西
你能帮我指路吗?来改变这种行为或证明它
先谢谢你
# 1 楼答案
这是一个与国际化有关的问题
我们还有一个web服务,它需要一个大的十进制数,例如:2.56
我们在意大利的一个客户正在发送2,56。这将导致接收空参数。这是因为该客户端使用意大利语言环境