Apache AxisのJava2WSDLツール
AmazonのECS*1はWSDL*2で定義されたXMLです。
このXMLをJavaに取り込む場合、Javaのオブジェクトにマッピングするわけです。そこでApache AxisのJava2WSDLツールが活躍します。
その前に、ECSやWSDLが分からない人はググってください。
この辺の前提知識もある程度必要となります。
Apache Axisの設定
2台のマシーンで環境設定しました。
多少のバージョンの差異はありますが、AxisとECSのバージョンが違わなければ、ある程度は一緒だと思います。
環境1
- Windows XP Home Edition SP2
- J2SDK1.4.2_09
- Apache Ant1.6.5
- Apache Axis1.2.1
- JavaMail1.3.3_01
- JAF1.0.2
- ECS4 2005-09-15
環境2
- Windows XP Professional SP2
- J2SDK1.5.0_04
- Apache Ant1.6.5
- Apache Axis1.2.1
- JavaMail1.3.3_01
- JAF1.0.2
- ECS4 2005-09-15
入手先・参考サイト
JAFについてはSunにてユーザ登録しないとダウンロードできません。
環境設定
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>
WSDL
WSDLのURLはバージョン2005-09-15のドキュメントの「API Reference > WSDL and Schema Locations」を参考にしてください。
同サイトにてWSDLとXSDのスキーマのURLが示されています。
- US
- http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl
- UK
- http://webservices.amazon.com/AWSECommerceService/UK/AWSECommerceService.wsdl
- DE
- http://webservices.amazon.com/AWSECommerceService/DE/AWSECommerceService.wsdl
- JP
- http://webservices.amazon.com/AWSECommerceService/JP/AWSECommerceService.wsdl
- FR
- http://webservices.amazon.com/AWSECommerceService/FR/AWSECommerceService.wsdl
- CA
- http://webservices.amazon.com/AWSECommerceService/CA/AWSECommerceService.wsdl