JAX-RS / Apache CXF、JSONを使用してクライアントサーバーアプリを開発しています
Apache CXFで例外を両端で透過的に処理する必要があります。つまり、例外をBeanに変換し、Jackson Serializer(JSON)でシリアル化してから、クライアント側で処理をやり直します。
私はこの主題に関するいくつかの紛らわしい投稿/回答を見て、@WebFaultアノテーションを使用することを思いつきました:
@WebFault(name=CODE, faultBean="foo.bar.FaultBean")
public class DuplicateRuleNameFault extends Exception {
static final public String CODE = "DUPLICATE_RULE_NAME";
private FaultBean faultBean;
public DuplicateRuleNameFault(String msg) {
super(msg);
this.faultBean = new FaultBean(msg);
}
public DuplicateRuleNameFault() {
}
public FaultBean getFaultBean() {
return faultBean;
}
public void setFaultBean(FaultBean faultBean) {
this.faultBean = faultBean;
}
}
成功しませんでした...現在、CXFは例外の注釈を喜んで無視し、それを不明な例外として処理しているようです:500ステータスエラーとサーバー側で生成された応答本文はありません。
Springコンテキストの""サーバー要素で構成する必要がある特定の何かがありますか?私はすでにSpringにException/FaultBeanクラスをスキャンさせています(ところで必要なのですか?)。
いくつかの実例を教えていただければ幸いです。ありがとう。