IDE に NetBeans を使用し、サーバーに GlassFish 3.1.2 を使用しています。
私は、GWTService という名前の GWT RPC サービスを提供する簡単な GWT プロジェクト (GWTServer) を作成しました (サービスが行うことは、渡されたものに文字列を連結して返すことだけです)。サーバー GWT RPC サービスにアクセスしたい別のクライアント プロジェクト (GWTClient) を作成しました。NetBeans は、RPC サービスへのアクセスに使用できるいくつかのクライアント コードを GWTServer に生成しました。
私のサーバー GWT プロジェクトは、glassfish にデプロイされ、「localhost:8080/GWTServer」からアクセスできます。
これを機能させるために必要ないくつかのことを行うのに問題があります。
まず、GWTServer には、GWTClient で使用する必要のある生成済みのクラスがいくつかあります。これらのクラスは GWTService と GWTServiceAsync です。(できれば) IDE を取得して、これらを GWTClient に含めることができる jar ファイルにコンパイルする必要があります。Java ライブラリ プロジェクトを作成して、これら 2 つの Java ファイルをライブラリにコピーし、そのライブラリを GWTClient に含めようとしましたが、次のエラーが表示されます。必要なモジュールを継承するのを忘れていませんか?」</p>
次に、クライアント プロジェクトのどこかに、サーブレットの URL ( http://localhost:8080/GWTServer/ gwtservice など) を指定する必要があります。基本的に、GWT.create(GWTService.class) を呼び出したときに機能するように環境を設定する必要があります。
おそらく、クライアント プロジェクトの .xml 構成ファイルでこの接続を設定できます。しかし、これを行う方法がわかりません。また、サーバー側でサーブレット定義を変更する必要があるかどうかもわかりません。
サーブレットを指定するサーバー側の web.xml は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>GWTService</servlet-name>
<servlet-class>org.gwtserver.server.GWTServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GWTService</servlet-name>
<url-pattern>/org.gwtserver.Server/gwtservice</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>welcomeGWT.html</welcome-file>
</welcome-file-list>
</web-app>
既存のサーブレットと通信するには、クライアント gwt アプリケーションで何をする必要があるかを理解する必要があります。