我正在使用WSDL(契约优先)开发一个Web服务,它将其中一个字段定义为十进制类型,JAXB在生成客户端代码时将其转换为BigDecimal。
到目前为止一切顺利。但是,当我使用SoapUI进行测试时,如果我为此字段发送了无效的字符串(如“xxxx”),我会在服务器端收到一个空的BigDecimal。如果我发送有效的数值,则工作正常。
我不能说这种行为对我没有意义。 API可能正在获取NumberFormatException,可能来自BigDecimal的构造函数,只是发送一个空值以避免在到达服务器端之前抛出异常。
但在我关闭此问题之前,我想确认此行为或学习一些“修复”,让我自己处理可能的转换错误。到目前为止,我还没有找到任何有关此方案的文件。此外,我无法找到任何可疑的调试API。
你可以帮我指点一些方向吗?可能会更改此行为或对其进行认证。提前谢谢。
答案 0 :(得分:0)
这是一个与国际化有关的问题。
我们还有一个Web服务,需要BigDecimal,例如:2.56。
我们在意大利的一位客户发送了2,56个。这导致接收到空参数。这是因为该客户使用意大利语语言环境。