Apache AxisのJava2WSDLツール

AmazonのECS*1WSDL*2で定義されたXMLです。
このXMLJavaに取り込む場合、Javaのオブジェクトにマッピングするわけです。そこでApache AxisのJava2WSDLツールが活躍します。

その前に、ECSやWSDLが分からない人はググってください。
この辺の前提知識もある程度必要となります。

Apache Axisの設定

2台のマシーンで環境設定しました。
多少のバージョンの差異はありますが、AxisとECSのバージョンが違わなければ、ある程度は一緒だと思います。
環境1

環境2

環境設定

ApacheのサイトからZIPをダウンロードして任意の場所にします。
解凍後「lib」以下のJARファイルをプロジェクトのライブラリーディレクトリ(libディレクトリ)に配置します。

JAFのactivation.jarとJavaMailのmailapi.jarもライブラリーディレクトリに配置してください。
これらのファイルも必要になります。

ディレクトリ構造
Antビルドファイル作成

下記をコピペしてUTF-8で保存してください。ファイル名は何でもかまいませんが今回はAntがデフォルトで読み込む「build.xml」で保存しました。

プロパティのwsdl.urlはWSDLの場所を示しています。別のWSDLを使う場合、書き換えてください。

<?xml version="1.0" encoding="UTF-8"?>
<project name="build" default="w2j" basedir=".">
	
	<property name="wsdl.url" value="http://webservices.amazon.com/AWSECommerceService/JP/AWSECommerceService.wsdl" />
	
	<property name="src" value="src" />
	
	<path id="lib">
		<fileset dir="lib">
			<include name="**/*.jar"/>
		</fileset>
	</path>
	
	<target name="w2j" >
		<echo message="Wsdl2Java ... "/>
		<echo message="対象のWSDL ... ${wsdl.url}"/>
		<java classname="org.apache.axis.wsdl.WSDL2Java" dir="." fork="yes">
			<classpath>
				<path refid="lib"/>
			</classpath>
			<arg line="-v -W -o ${src} ${wsdl.url}"/>
		</java>
	</target>
	
	<target name="w2j.help" >
		<echo message="Wsdl2Java ... help"/>
		<java classname="org.apache.axis.wsdl.WSDL2Java" dir="." fork="yes">
			<classpath>
				<path refid="lib"/>
			</classpath>
			<arg line="-help"/>
		</java>
	</target>
</project>

バインドクラスの生成

次にAntを使ってクラスファイルを生成します。コマンドプロンプトで以下のコマンドを叩くと生成されます。

ant

または

ant w2j

Wsdl2Javaのオプションを参照したい場合は「w2j.help」ターゲットを呼ぶことでオプションが表示されます。
実際、オプションを表示しても何の意味だかさっぱりですがorz...とりあえずココを参考にしました。

これで準備ができました。
次回は実際に読み込んで見ます。

ココまでで間違いの指摘や感想などもらえると嬉しいです。(*_ _)ペコリ.

*1:Amazon E-Commerce Service

*2:Web Services Description Language