2016-07-04 7 views
0

Im usign gwt 2.7.0 request factory。 編集:Imはクライアント側の検証を使用せず、サーバ側の検証のみ(休止状態の注釈)GWT requestfactory外部サーバ上のエンティティを検証する

編集しようとしているエンティティは「Article.java」と呼ばれています。

通常のシナリオでは、私はクライアント側の記事を、記事エディタ(エディタから拡張)で編集します。記事がサーバーに到達すると、検証が実行されます。バリデーションが間違っていると、クライアント側はEditorFrameworkでフォームにエラーを表示するために使用できる "Set < ConstraintViolation <?> oErrors"を受け取ります。私の特定のケースで

私は2つのサーバーを持っている:

A =一つは、(エンティティを永続化されません)ValueProxyを編集する(POJOを)GWTを使用しています。

B =その他は、ステートレスEJB経由でAがアクセスするデータベース(休止状態)にアクセスできます。

"PersistentArticle.java"(すべてのhibernate注釈ロジックを含む)という記事のコピーを作成しました(ハイバネートアノテーション、シンプルpojoは含まれていません)。ボテクラスは同じ属性とメソッドを持っています。

記事が編集された後、それはサーバー側Aに到達し、その後、オブジェクトをejbメッセージ経由でサーバーBに送信します.B iでは、ArticleクラスからPersistentArticleのインスタンスを作成して永続化しようとします。検証が間違っていると、javax.validation.ConstraintViolationExceptionが生成されます。

問題は、サーバーBで生成されたValidationExceptionとサーバーAにあるEditorFrameworkをバインドする方法がわからないため、フォームにエラーが表示される可能性があります。リクエストの受信機から戻るCLIEN側

、iは

公共ボイドONFAILURE中にValidationExceptionを受け取る(ServerFailure oError)メソッドを(通常のシナリオでは、これはサーバーAにrequestfactoryによって自動的に行われる)、および

方法onConstraintViolation(に理想的です< ConstraintViolation <?>> oErrorsを設定していない。

それがやろうと何イムは可能ですか? あなたは何をお勧めですか?

英語は母国語ではありません。私のところで何か誤りがあれば、それを許してください。

先進のタクシー。

答えて

0

RequestFactoryは、サービスメソッドを呼び出す前にオブジェクトを検証し、違反があればすべてを中止します。あなたの検証がこのスキームに合わない場合は、それを利用することはできません。

検証はサービスメソッド内で行われるため、エラーをクライアント側で処理する場合は、戻り値を返す必要があります。つまり、プロキシをバリュープロキシに移し、クライアント側の制約違反に戻します。

関連する問題