Entrez Utilities Web Service入門
NCBIのEntrezの機能をウェブサービスとして使えるらしい。いまいち何ができるのか良くわかってないので、何ができるのかを知るのも兼ねてNCBI eUtilsの勉強をしてみることに。
とりあえずHow to Use E-Utilities Web Service with Java(Apache Axis 1.2RC1)ということでApache Axis 1.2RC3をダウンロードしてきた。なんかNCBIのサイトとバージョンが若干違う気もするけど新しい方がいいよね、きっと。(関係ないですが、Apache Axisダウンロードの日本でのミラーサイトは理科大なんですなあ。)
Eclipseで新しいプロジェクトを作成し、ダウンロードしてきたAxisのjarを依存jarごとプロジェクトのクラスパスに追加。あと多分Xercesは必須なんだろうとこれもダウンロードしてきてクラスパスに追加。今日はHow to Use E-Utilities Web Service with Java(Apache Axis 1.2RC1)の内容にしたがってeUtilsのインターフェースを生成して終わろうと思ったのですが、org.apache.axis.wsdl.WSDL2Java
を実行してみると、以下のようなエラーが出てしまったので一旦終了。たぶん会社からやってるのでproxyの設定が必要なんだろうなあ。。Eclipseからどうやって設定するんだろう?
- 要求されたクラス(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.)
java.net.ConnectException: Connection refused: 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.Socket.connect(Socket.java:507)
at java.net.Socket.connect(Socket.java:457)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
at sun.net.www.http.HttpClient.(HttpClient.java:214)
at sun.net.www.http.HttpClient.New(HttpClient.java:287)
at sun.net.www.http.HttpClient.New(HttpClient.java:299)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:784)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:736)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:661)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:905)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:973)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:184)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:798)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:369)
at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:420)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:473)
at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:356)
at java.lang.Thread.run(Thread.java:595)