Axis2ってWDSLのツールが便利だった覚えがあるんだけど、ちょっとわすれたなぁ。
ダウンロードして解凍すると下記のようなフォルダが出てくる axis2-1.5\bin
最新版(2010/06/29時点での最新)落としたけど、
エラーが出て使い物にならなかった。
おっかしいいなぁ、去年の9月ごろのプロジェクトでは楽天のWDSLの変換で、
ちゃんと使えていたのになぁ。
とりあえず、今は勉強のため、調べているだけなのでHelloWorld?的なサンプルを動かすところまでメモっておきたい。
C:\axis2-1.5.1\bin>wsdl2java.bat -uri http://ec2.amazonaws.com/doc/2009-03-01/AmazonEC2.wsdl -o out Using AXIS2_HOME: C:\axis2-1.5.1 Using JAVA_HOME: C:\java\jdk1.6.0_20 Retrieving document at 'http://ec2.amazonaws.com/doc/2009-03-01/AmazonEC2.wsdl'. Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException?: Error parsing WSDL
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:156) at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=OTHER_ERROR: Unable to resolve imported document at 'http://ec2.amazonaws.com/doc/2009-03-01/AmazonEC2.wsdl'.: java.net.SocketException: Connection reset by peer: connect at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(CodeGenerationEngine.java:288) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:111) ... 2 more Caused by: java.net.SocketException: Connection reset by peer: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at sun.net.NetworkClient.doConnect(NetworkClient.java:163) at sun.net.www.http.HttpClient.openServer(HttpClient.java:394) at sun.net.www.http.HttpClient.openServer(HttpClient.java:529) at sun.net.www.http.HttpClient.<init>(HttpClient.java:233) at sun.net.www.http.HttpClient.New(HttpClient.java:306) at sun.net.www.http.HttpClient.New(HttpClient.java:323) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049) at java.net.URL.openStream(URL.java:1010) at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source)
... 6 more
http://builder.japan.zdnet.com/sp/09-personal-cloud/story/0,3800097247,20393200-3,00.htm
http://japan.internet.com/developer/20090714/26.html
http://w3.doshisha.ac.jp/~mogawa/index.php?Apache%20Axis2
http://www.ee.e-mansion.com/~egami/axis2/index.html
よさそうだったので、これをたしかめてみる。
http://www.crosschecknet.com/web_services_testing_tools_amazon_ec2.php
おいおい、コンパイルエラーじゃん。
あと、必要なjarファイルが2つも取り込まれていないって、どーゆーことなわけ?
おそらく、自分の間違いじゃないはず、だって
2010/06/29時点で最新のEclipseのオールインワンで取り込んだんだもの。
List型で帰ってくる箇所をArrayList?型で代入しようとしている箇所でコンパイルエラーになっていたので、キャストするように修正