VisualStudio.NETでWebサービスを作成するのは、とても簡単です。それに比べると、AXISでのWebサービス作成は、CUIだったりコマンドオプションが複雑だったりして、やや面倒です。[[GUIツールを自作:http://cropcrusher.web.infoseek.co.jp/shufujava/wserv/java2wdslgui.html]]されている方もいますね。
※ ちなみに、AXISでもJWS(○Java WebService、×Java Web Start)ならば、機能が限定されますけど、Javaクラスを書くだけでインスタントにWebサービスが作れますね。

 私も自作しようかと思ってたんですが、eclipse + antを使うことである程度楽になるので、これでいいやってことで、まとめておきます。

+eclipseのAntランタイムのクラスパスにAXISのjarファイルを登録します。
#ref(AntLib.png,center,nolink);
#br
+axis-ant.jarのaxis-tasks.propertiesには、以下のAntタスクが記載されており、これを使います。
 axis-wsdl2java=org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask
 axis-java2wsdl=org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask
 axis-admin=org.apache.axis.tools.ant.axis.AdminClientTask
+build.xml(なければ作る)に以下のようにタスクを追加。(内容サンプルは[[QuizML]]より)
 <taskdef resource="axis-tasks.properties" />
    …
 <target name="makeWS">
   <axis-java2wsdl output="${dist}/WEB-INF/Quiz.wsdl"
     className="jomora.quiz.Quiz"
     namespace="urn:Quiz"
     location="http://localhost:8080/quiz/services/QuizService">
     <mapping namespace="urn:Quiz" package="jomora.quiz"/>
   </axis-java2wsdl>
    
   <axis-wsdl2java url="${dist}/WEB-INF/Quiz.wsdl"
     output="${project.dir}/src"
     deployscope="application"
     serverSide="yes"
     skeletonDeploy="yes"
     noimports="no"
     verbose="no"
     testcase="yes">
     <mapping namespace="urn:Quiz" package="jomora.quiz"/>
   </axis-wsdl2java>
 
   <axis-admin
     port="8080"
     hostname="localhost"
     failonerror="true"
     servletpath="${module}/services/AdminService"
     debug="true"
     xmlfile="${project.dir}/src/jomora/quiz/deploy.wsdd"
     />
 </target>
+後は、Webサービスとなるインターフェースを作って(このクラスは後で上書きされます)
 Quiz.java
 package jomora.quiz;
 
 public interface Quiz {
     public int loadQuestions();
     public jomora.quiz.Question getQuestion();
 }
+先ほど作ったAntタスクを実行し、
#ref(AntRun.png,center,nolink);
#br
+…ServiceSoapBindingImpl.java にWebサービスのロジックを実装するだけです。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS