Naoki Kurosawa
naoki_kuros****@ybb*****
2003年 3月 18日 (火) 10:27:24 JST
黒澤です。 浜地さんのおっしゃるとおり、この部分は、 1. rumblejp.webservicesパッケージに中央サーバ側の機能を実装し、 Webサービスにする。 2. JBossを起動 →すると、Webサービスのメソッドや引数が記述されたWSDLが 取得できるようになる 3. genWSClient.batを起動すると、上記のWSDLを取得して rumblejp.distribute.remoteパッケージのクラス群が生成される。 という開発の流れになっています。 ちなみに、WSDLを見てみたい方は、JBossを起動して http://localhost:8080/rumblejp/soap/Battles?wsdl にアクセスすると見れます。 もちろん http://robocode.ddo.jp/rumblejp/soap/Battles?wsdl でも見れます。 L> rumblejp\distribute\remote\Battles.java L> にsetResultsの定義を追加しておきました。 L> これでコンパイルエラーは出ませんが、問題ないですよね? BattlesSoapBindingStub.javaの方にエラーが出ていたので、 生成しなおしました。 みなさんがrumblejp.webservicesパッケージに手を入れたとき どうすればよいか、というのは確かに問題ですね。 やはり浜地さんのおっしゃるとおり、 生成されたクラス内にrobocode.ddo.jpというホスト名が入っています。 これは、genWSClient.batがJBossにアクセスするときのホスト名が反映される ので、genWSClient.batを書き換えて、WSDLを取得するURLを http://localhost/... というように変更してしまうと、 生成されたクラス内にはlocalhostというホスト名が記入されてしまいます。 そこで、 1. JBossのHTTPポート番号を80に変更 2. hostsファイルにrobocode.ddo.jpのエントリを加えて、 robocode.ddo.jpというホスト名で自分のマシンにアクセスされるようにする。 3. JBossを起動してgenWSClient.batを起動 とやると、正しいものが生成されます。 具体的には、 1番は、JBOSS_HOME/server/default/deploy/tomcat41-service.xml の45行目付近 「port="8080"」を「port="80"」に変更 2番は/etc/hostsやC:\(windows or winnt)\system32\drivers\etc\hosts ファイルに「127.0.0.1 robocode.ddo.jp」という行を追加。 という感じです。 この変更を行うと、ブラウザからもhttp://robocode.ddo.jp/rumblejp/ で自分のマシンにアクセスされるようになりますし、 分散サーバがアクセスするURLもポート番号を変更しなければならないので、 クラス生成が終わったらhostsやtomcat41-service.xmlは 元に戻しておきましょう。 -- Naoki Kurosawa <naoki_kuros****@ybb*****>