2010年1月8日金曜日

CXF/WTP/m2eclipse/Tomcat

Maven 2 の アーキタイプで作った CXF サンプルの試行を、全部 Galileo 上でやってみる。

■ 使用プロダクト
  • Eclipse 3.5 Galileo + WTP + m2eclipse
  • Tomcat v6.0.20 (Eclipse 上でServer と Server Runtime が構成済みの前提)
  • soapUI 3.0.1

■ プロジェクト作成
  • [New]/[Other..]->[Maven Project]
  • cxf-java-first 2.2.5 アーキタイプを選択
  • 以下の諸元を指定して[Finish]
    GroupIdnet.yasuabe.studies.ws.cxf
    ArtifactIdjava-first
    Version0.0.1-SNAPSHOT
    Packagenet.yasuabe.studies.ws.cxf.java_first
  • .project ファイルを開いて、<natures>にorg.eclipse.wst.common.project.facet.core.nature を追加
  • [Properties]/"Project Facets" で Java と Dynamic Web Module にチェック。Runtime タブで Tomcat にチェック。
  • WebContent フォルダが生成されていたら、削除。
  • [Properties]を開きなおし、Java EE Dependencies/Maven Dependencies にチェック
  • もし src/main/java がソースフォルダになっていなかったら、改めて指定
  • .settings/org.eclipse.wst.common.componentファイルで、/WebContent を/src/main/webapp に変更
  • 以下のような Access restriction が出ていたら、F2を押下して Configure Problem Severity を実行し、Forbidden Reference を Ignore に変更
    Access restriction: The type WebService is not accessible due to restriction on required library C:\Program Files\Java\jdk1.6.0_13\jre\lib\rt.jar


■ 実行
  • Servers ビューで、http-basic プロジェクトを Tomcat に 追加して [Start]
  • ブラウザで http://localhost:8080/java-first/HelloWorld?wsdl を開いて、まずは WSDL が返ってくるのを目視確認
  • soapUI で 上記のWSDL のURLを指定し、新規プロジェクト作成。以下のようにリクエストを送って、レスポンスを確認

■ 補足
Maven プロジェクト を作るとき、アーキタイプの選択で http-basic も選択肢にリストアップされてくるが、これは java-first とほとんど同じ内容だけど、アーキタイプに不備があるらしく、パッケージ名が決めうちになっている模様。修正すればこれも動かせないことは無いが、java-first があるので、あまり意味なし

0 件のコメント:

コメントを投稿