昨日のナニを検証してみる

書いてある通りにヤッてみたんですが、javax.* なパケジを strip な意味がよー分からん、ってコトで色々試してみます。
試したコトを順に列挙

  • まず、tomcat なサーバにあるプロジェクトを削除
  • eclipse にある www も削除
  • jp.littlesoft.gwttest1.public にある ImageSearchClient.gwt.xml を開く
    • sevlet ん中の path を /image に変更、上書き保存
  • jp.littlesoft.gwttest1.client の ImageSearchClient.java を開く
    • 直前エントリに倣って修正、上書き保存
  • war を作成
  • ImageSearchClient-compile.cmd を実行
  • 作成された war なファイルとコンパイルした後に作成されたファイル達を転送
  • /usr/share/tomcat4/webapps 配下に転送した war ファイルをコピィし、解凍
    • GWTTest1 ディレクトリを作成し、その中にて解凍
  • *-compile.cmd にて作成されたファイルをコピィ
  • WEB-INF/web.xml を修正
  • chown で属性を再帰的に tomcat4 が読めるように変更
  • tomcat 再起動

あら、動いた。デフォな gwt-servlet.jar でもデプロイはできるみたい。javax.* パケジを、なソレは一体何だったのだろうか。(この辺は中身を見てないので結論付けるのは微妙だろうな)
がしかし、「検索」処理は動作していない。Exception なメセジを見るに、エントリポイントのコーディングが微妙かも。

HTTP Status 404 - /GWTTest1//GWTTest1/image

とかって出てるな。

何度かデプロイを繰り返してみる必要あり。

追記

エントリポイントなソレは以下のようにしてみた。(一部のみ)

    ServiceDefTarget target = (ServiceDefTarget) searchService;
    string staticResponseURL = GWT.getModuleBaseURL();
    staticResponseURL += "image";
    target.setServiseEntryPoint(staticResponseURL);

ImageSearchServise.gwt.xml は以下。(コメント略)

<module>
    <ingerits name='com.google.gwt.user.User'/>
    <entry-point class='jp.littlesoft.gwttest1.client.ImageSearchClient'/>
    <servlet path='/image' class='jp.littlesoft.gwttest1.server.ImageSearchServiseImpl'/>
</module>

で「検索」クリックしたら NG。ログ見れ、との事なので見てみると AccessControlException との事。

2006-12-05 10:40:20 Exception while dispatching incoming RPC call
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)

げ。なんかどっかで見たコトあるなぁ。

とりあえず、アクセス制限解除してみる。/etc/tomcat4/policy.d/04webapps.policy に以下の行を追加。

  // Allow for GWT
  permission java.lang.RuntimePermission "accessDeclaredMembers";

まだオチる。

com.google.gwt.user.client.rpc.SerializationException

だと。
やっぱ gwt-user.jar を使わねぇとナニ??
とゆコトでコピってみたのですが、NG。ムチャクチャ長いメセジと共にブラウザ使用不能状態に。仕方が無いので再度 gwt-servlet.jar を WEB-INF/lib にコピーしてリトライも SerializationException。(駄目だ、ループしてるぞ

で、google 先生にお伺いしてみたトコロ、以下の文書を発見。
Cannot make RPC call: SerializationException

なんか bug って字が見えるんですが ...

追記 2

まだまだ続く。どこまでも ...

それは良いとして上記のナニを試験してみる。順番に

  • Servise Interface に以下を追加
        String dummy(String dummy);
  • Asunc Interface に以下を追加
         void dummy(String dummy, AsyncCallback callback);

げ、改行したら勝手に追加されたぞ。なんか微妙。

  • impl class に以下を追加
         public String dummy(String dummy) {
                return dummy;
        }

で、war と complie.cmd なナニを転送、と ...

余談

どうも root でコピーして所有者変えるのを忘れてアセるなぁ。

続き

NG。SerializationException 再現。再度イチからヤッてみた方が良いのかなぁ。段々ワケワカになりつつある。