我正在使用WSDL (contract-first)开发when服务,它将其中一个字段定义为decimal类型,JAXB在生成客户端代码时将其转换为BigDecimal。
到目前一切尚好。但是当我使用SoapUI进行测试时,如果我为这个字段发送了一个无效的字符串(比如"xxxx"),我会在服务器端收到一个空的BigDecimal。不过,如果我发送一个有效的数值,就可以正常工作。
我不能说这种行为对我来说毫无意义。应用程序接口可能会从BigDecimal的构造函数获得一个NumberFormatException,并且只发送一个空值,以避免在到达服务器端之前抛出异常。
但是在我结束这个问题之前,我想确认这个行为,或者学习一些“修复”,让我自己处理可能的转换错误。到目前为止,我还没有找到任何关于这个场景的文档。此外,我在调试API时也找不到任何可疑的东西。
你能帮我指一下路吗?可能会改变这一行为,或者证明它。
提前谢谢你。
发布于 2012-01-12 22:31:48
这是一个与国际化有关的问题。
我们还有一个web服务,它需要一个BigDecimal,例如: 2.56。
我们在意大利的一个客户发送了2,56。这会导致接收到null参数。这是因为此客户端使用意大利语区域设置。
https://stackoverflow.com/questions/8263072
复制相似问题