まず、実験用のWebサービスを作って公開する(その1)
JavaとC++やC#などを接続するために、S2Axisを使ってWebサービスで連携をしてみたいと思います。これから書く内容は、試行錯誤の途中経過なので、間違いも沢山含まれていると思います。一通り試せたら、まとめも書こうと思ってます。
とりあえず、今回クライアント側として主に実験をするのは、WTLで作るプログラムです。Webサービスの部分は、ATL Serverに含まれるものが使われているようです。また、適宜C#でも実験をしてみようと思います。特にエラーが出たときは比較対照として。
Webサービスの開発手順を確認
異なる言語間をつなぐ場合は、WSDLを基本にする方がいいみたいです。今までにも少し実験したことがあったのですが、Javaコーディング→dicon記述修正でサービス公開とすると、思ったようなWSDLが生成されませんでした。(そのとき問題になったのは、Operationのinputとoutputで別々の名前空間が割り当てられたこと)
そんなわけで、手順は以下のようにしたいと思います。
バッチ処理で楽をする
私は、作業がし易いように、以下の様なバッチファイルを作り、Java2WSDLとWSDL2Javaを使いやすくしています。
AxisEnv.cmd
@REM Axisツール用環境設定 @REM SET JAVA_HOME=C:\j2sdk1.4.2_08 @REM SET PATH=%JAVA_HOME%;%PATH% SET AXISLIB=D:\axis-1_2_1\lib SET CLASSPATH=%AXISLIB%\axis.jar;%AXISLIB%\axis-ant.jar;%AXISLIB%\commons-discovery-0.2.jar;%AXISLIB%\commons-logging-1.0.4.jar;%AXISLIB%\jaxrpc.jar;%AXISLIB%\log4j-1.2.8.jar;%AXISLIB%\saaj.jar;%AXISLIB%\wsdl4j-1.5.1.jar;%AXISLIB%\activation.jar;%AXISLIB%\mail.jar;%AXISLIB%;.
Java2WSDL.cmd
@ECHO OFF call AxisEnv.cmd java -classpath %CLASSPATH% org.apache.axis.wsdl.Java2WSDL %1 %2 %3 %4 %5 %6 %7 %8 %9
WSDL2Java.cmd
@ECHO OFF call AxisEnv.cmd java -classpath %CLASSPATH% org.apache.axis.wsdl.WSDL2Java %1 %2 %3 %4 %5 %6 %7 %8 %9