2

大きなRPCサービスを小さなチャンクに分割するという問題があります。ここで基本を見つけましたGWTRPC-アプリごとの複数のRPCサービスですが、実装に苦労しています。どこにも良いガイドが見つかりません。私は次の部分と混同しています。(目標は、1つの大きなRPCを2つの小さなRPCに分割することです)

  1. モジュールのxmlファイルにサーブレットクラスを作成します

  2. web.xmlで、サーブレットと2つのサーブレットURLを使用した1つのサーブレットマッピングを作成します。最初のサーブレットは「メインサーブレット」であり、モジュールxmlファイルと同じです。2つ目は、認証サーブレットです。

  3. 両方のサーブレットに同期および非同期インターフェースがあり、両方のサーブレットにサーバー側の実装があります。

  4. GWT.create()を使用してコード内にサーブレットを作成します。「メインサーブレット」のメソッドを問題なく呼び出すことができます。しかし、認証サーブレットでメソッドを呼び出すことはできません。これを試してみると、次のエラーが発生します。

[エラー][プロジェクト]-モジュールエントリポイントクラスcom.projects.client.Projectをロードできません(詳細については、関連する例外を参照してください)

com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException: Service implementation URL not specified
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy.doPrepareRequestBuilderImpl(RemoteServiceProxy.java:430)
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy.doInvoke(RemoteServiceProxy.java:368)
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy$ServiceHelper.finish(RemoteServiceProxy.java:74)
at com.projects.client.AuthService_Proxy.signIn(AuthService_Proxy.java:44)
at com.projects.client.Authentication.signIn(Authentication.java:38)
at com.projects.client.Project.onModuleLoad(Project.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)

15:48:13.877[エラー][プロジェクト]ユーザーエージェント'Mozilla / 5.0(Windows NT 6.1)AppleWebKit / 537.11(KHTML、Geckoなど)Chrome / 23.0.1271.97 Safari/537.11'からモジュール'project'を127.0で読み込めませんでした.0.1:2588 **

4

1 に答える 1

2

あなたのリンクから:

I believe I'd have to make a new servlet for each one.

必ずしも。

つまり、すべてのインターフェースに対してサーブレットを 1 つだけ持つこともできますが、これは必須ではありません。確かに、指定されたすべてのインターフェースを実装するサーブレットが 1 つだけある場合もありますが、各 RPC インターフェースに@RemoteServiceRelativePath異なる URL を指す があり、各 URL がweb.xml別のサーブレットにマップされている限り、それらのサーブレットはそれぞれ実装するだけで済みます。それを指しているその1つのインターフェース。

于 2013-01-02T17:13:20.607 に答える