I’m developing a webservice using a WSDL (contract-first) that defines one of it’s fields as a decimal type, which JAXB converts to a BigDecimal when generating client code.
So far so good. But when I’m testing with SoapUI, if I send an invalid String for this field (like “xxxx”) I receive a null BigDecimal at server side. Works fine if I send a valid numeric value though.
I can’t say this behavior makes no sense to me. The API might be getting a NumberFormatException, maybe from BigDecimal’s Constructor, and just sending a null value to avoid throwing an exception before even reaches server-side.
But before I close this issue, I would like to confirm this behaviour or learn some “fix” that will let me handle the possible conversion error myself. So far I haven’t found any documents regarding this scenario. Also, I wasn’t able to find anything suspicious debugging the API.
Could you please help me with some directions? To maybe change this behavior or to certify it.
Thank you in advance.
This is a problem that has to do with internationalization.
We also have a web service which expects a BigDecimal eg: 2.56.
One of our clients in Italy is sending 2,56. this is resulting in a null parameter being received. This is due to the fact that this client uses the italian locale.