私は2つのGWTモジュールを備えたアプリケーションを持っています(.gwt.xml
)。それらの間で1つのRPCサービスを共有したいと思います。ただし、モジュールの名前は異なるため、最初のモジュールはからRPCサービスを呼び出します。
FIRSTModuleName/relativepath
(そしてそれは動作します)
しかし、2番目のモジュールはからそれを呼び出そうとします
SECONDModuleName/relativepath
(パスが正しくないため、機能しません)。
を両方のURLにマップするかRemoteserviceServlet
(はるかに簡単な解決策)、クライアント側のコードを変更して、両方のモジュールが同じURLを呼び出すようにすることができます。
後者の場合、を使用せずに、代わりにサービスを非同期で@RemoteServiceRelativePath
キャストし、使用するURLで呼び出します(これは、で自動的に呼び出されるためのショートカットにすぎません)。で-スタイルのURLを
使用することもできると思います。ServiceDefTarget
setServiceEntryPoint
@RemoteServiceRelativePath
setServiceEntryPoint
GWT.getModuleBaseURL() + relativePath
../
@RemoteServiceRelativePath
また、本番環境では、web.xmlに2番目のサーブレットマッピングエントリを追加することを忘れないでください。サーブレットは、必要な数のURLをリッスンできます。
もう1つのオプションは、共有RPCメソッドを共通の基本クラスに配置することです。