RM-BLOG

IT系技術職のおっさんがIT技術とかライブとか日常とか雑多に語るブログです。* 本ブログに書かれている内容は個人の意見・感想であり、特定の組織に属するものではありません。/All opinions are my own.*

【java】WSDL2Javaの使い方メモ

WSDLjavaソースにする方法。
ググれば出てくるが……

※前提としてaxis.jarが必要。(↓のURLから入手)
http://axis.apache.org/axis/ja/java/user-guide.html


 

 
Windowsの場合、以下のようなbatファイルを作成して実行する。

setlocal

rem 1.AXISのパスを設定
set AXIS_PATH=C:\axis-1_4\lib\axis-ant.jar
set AXIS_PATH=%AXIS_PATH%;C:\axis-1_4\lib\axis.jar
set AXIS_PATH=%AXIS_PATH%;C:\axis-1_4\lib\commons-discovery-0.2.jar
set AXIS_PATH=%AXIS_PATH%;C:\axis-1_4\lib\commons-logging-1.0.4.jar
set AXIS_PATH=%AXIS_PATH%;C:\axis-1_4\lib\jaxrpc.jar
set AXIS_PATH=%AXIS_PATH%;C:\axis-1_4\lib\log4j-1.2.8.jar
set AXIS_PATH=%AXIS_PATH%;C:\axis-1_4\lib\saaj.jar
set AXIS_PATH=%AXIS_PATH%;C:\axis-1_4\lib\wsdl4j-1.5.1.jar

rem 2.WSDLjavaソースに変換
java -cp %CD%;%JAVA_HOME%;%J2EE_HOME%\lib\j2ee.jar;%AXIS_PATH%;. org.apache.axis.wsdl.WSDL2Java [WSDLファイル]


「1.AXISのパスを設定」は、axisのパスを個別に環境変数設定済みなら不要かもしれない。



なお、↑の通りにやってもなぜか以下のようなワーニングメッセージが出る。

- 要求されたクラス(javax.activation.DataHandler と javax.mail.internet.MimeMultipart)が見つかりません。Attachmentサポートが利用できません。 / [en]-(Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.)


ちょっと調べる限り、別にこういうワーニングメッセージが出ても問題ないらしいが、なんとなく気になる。
見つからないと言われるクラスはj2ee.jarに入ってるようだから
↑の例でもあるように無理矢理クラスパス通してみたのだが結果は変わらなかった。
多分なんか根本的なところが違うのだろう。
面倒だし、これでも動いているから別に特に追求していない。

このあと出来上がるのは.javaのソースなので、
アプリケーションに組み込んで実行する場合はコンパイルしてclassファイルを作成する必要がある点に注意。