質問: クライアント入力が無効な文字列である場合にJAX-WSからnullのBigDecimalを受け取る 私は、JAXBがクライアントコードを生成するときにJAXBがBigDecimalに変換する10進数型のフィールドの1つを定義するWSDL(contract-first)を使用してWebサービスを開発しています。 ここまでは順調ですね。しかし、私がSoapUIでテストしているときに、このフィールドに無効なString( "xxxx"など)を送信すると、サーバー側でnull BigDecimalが返されます。私は有効な数値を送信する場合は正常に動作します。 この行動が私には意味をなさないとは言えません。 APIはBigDecimalのConstructorからNumberFormatExceptionを取得している可能性があり、サーバー側に到達する前に例外をスローしないようにnull値を送信するだけです。 しかし、私はこの問題を閉じる前に、この動作を確認したり、可能な変換エラーを自分で処理できるようにするための修正をいくつか学びたいと思います。これまで私はこのシナリオに関する文書は見つけていません。また、APIのデバッグに不審なものは見つかりませんでした。 あなたはいくつかの指示で私を助けてくれますか?この振る舞いを変えたり、それを証明するために。 前もって感謝します。
回答: これは国際化と関係している問題です。 またBigDecimalが必要なWebサービスもあります(例:2.56)。 イタリアのクライアントの1人が2,56人を送っています。これによりヌルパラメータが受信されます。これは、このクライアントがイタリア語ロケールを使用しているためです。