2011-12-19 11 views
3

私は次のメソッドを公開しようとするWebサービスとして
public void validate(Foo foo) throws javax.validation.ConstraintViolationException;JAXB - サードパーティのライブラリの実装にマップするJavaインタフェースのWebサービスのコンテキストで

問題がConstraintViolationExceptionでは、インターフェースであるjavax.validation.ConstraintViolationSetを埋め込みます。私はhibernate-validatorをjavax.validation API実装として使用しています。

そのまま、JAXBはインターフェイスを処理できません。私は実行時にorg.hibernate.validator.engine.ConstraintViolationImplからConstraintViolationへのマッピングに固執しています。

明らかに、私が変更できるコードはWebサービスだけです。

私はこのコンテキストで、私が持っているすべてのインターフェイスに使用したい実装のセットをどのように定義できますか?

ありがとうございました

答えて

1

あなたがしていることは悪い習慣です。

Java特定のオブジェクトについては、返品や払い戻しをしないでください。

「翻訳」できるプラットフォームは、どのプラットフォームにも公開する必要があります。

+1

+1 - この場合、ConstraintValidationのHibernate実装をマップしようとするJAX-WSフレンドリーな例外をスローする方が良いでしょう。 –