Eclipse WTP/tomcat/Axis2
自分のPCで開発を行い、CentOSに持っていくという方法を取りたいので、Eclipseに環境を構築した。Eclipse WTPでAxis2のaarというアーカイブファイルを作成して、CentOSのAxis2にアップロードするというもの。
ちょっとハマったのは以下。
以下、メモ。
Eclipse
tomcat
- http://tomcat.apache.org/download-55.cgi
- apache-tomcat-5.5.28.zip をダウンロード。ZIPファイルを適当なフォルダに展開すればOK。
- Eclipseで [ウィンドウ] [設定] [サーバー] [ランタイムの設定] にtomcatのフォルダを設定して、起動できるようにしておく。
Eclipseでの操作
- 動的Webプロジェクトを作成する。
- プロジェクトの作成の途中か、作成の後でプロジェクト・ファセットの画面を開いて[Axis2 Web サービス]にチェックを入れておく。
- 何か普通のJavaのクラスを作成する。Webサービスとして公開したいメソッドを入れておく。
- そのクラスを選択して、右クリックから[Webサービス] [Webサービスの作成] でWebサービスにする。
- やや手数が多いので、以下を見ながらやる。
- Eclipse WTP Tutorials **Creating Bottom Up Web Service via Apache Axis2
http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html
英語だけど手順が詳しく書いてある。画面入りなので英語も雰囲気で分かる。 - Do Something on the Web **EclipseとAxis2の連携を! その1
http://penguin96.s301.xrea.com/?p=446
こっちのほうが日本語でいいかも? - SHINN::Scribble: [Java 関連]: Eclipse + WTP + Axis2
http://shinn.boo.jp/blog/archives/2007/08/eclipse_wtp_axi.html
- Eclipse WTP Tutorials **Creating Bottom Up Web Service via Apache Axis2
エラー
- 以下のエラーになってしまった。
java.lang.NoClassDefFoundError: org/apache/http/HttpResponseFactory
at org.apache.axis2.transport.http.SimpleHTTPServer.init(SimpleHTTPServer.java:116)
at org.apache.axis2.engine.ListenerManager.init(ListenerManager.java:74)
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:449)
…
Axis2を1.4.1にする
- http://ws.apache.org/axis2/download/1_4_1/download.cgi
- axis2-1.4.1-bin.zip
- axis2-1.4.1-war.zip
- あたりをダウンロードして使う。
Webサービスの実行
- プロジェクトを選択して、右クリック。Run on Serverで起動する。
Axis2のEclipseプラグインを入れる。
- aar(Axis Application Archive)というアーカイブにまとめることで、tomcat上で動いているAxis2の管理画面からサービスをデプロイできる。
- そのaarを簡単に作成したいので以下のEclipseのプラグインを入れる。
- Service Archive Generator Wizard Guide for Eclipse Plug-in
http://ws.apache.org/axis2/tools/index.html - axis2-eclipse-service-archiver-wizard.zip をダウンロード。ZIPを展開して、Eclipseのpluginsフォルダに入れる。
- Service Archive Generator Wizard Guide for Eclipse Plug-in
- Eclipseで [新規] [その他] [Axis2 Wizard] [Axis2 Service Archiver] を実行する。
- Class file Location は workspace/project/build/classes のあたりを指定。