【java】WSDL2Javaの使い方メモ


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

※前提として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.WSDLをjavaソースに変換
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ファイルを作成する必要がある点に注意。