- From: Benjamin Good <goodb@interchange.ubc.ca>
- Date: Thu, 12 Jul 2007 13:08:44 -0700
- To: Ricardo Pereira <ricardo@tdwg.org>
- Cc: public-semweb-lifesci <public-semweb-lifesci@w3.org>, Ed Kawas <ed.kawas@gmail.com>
- Message-id: <9336B1EC-A942-4E56-A3D1-74E7F0F8C08C@interchange.ubc.ca>
Hi Ricardo, The only real problems were tracking down all of the relevant jar files. In particular, the javadns file was problematic because the link in the client doc was broken. I missed the "old" directory the first time I went to http://www.dnsjava.org/download/ and hence could not find the version used in the lsid client (1.3.2). The code failed at various places with different (much more recent) versions of this jar. I think, all that is really needed is a decent build script to pull in all of the relevant third party jar files and to update the lsid code to reflect changes in them. A better documented and tested client program would be nice (with working examples), but I managed to get theirs going so it must not be that bad :). These issues are just basic tasks for a "living" software project - happy to hear that you are tending to this. I tested a few of the examples you sent, but didn't get much satisfaction (lots of different errors though!): Below are the results produced using the testAuthority method in the LSIDTestClient class. System.err.println(testAuthority ("urn:lsid:gdb.org:GenomicSegment:GDB132938",SOAP)); Retrieving document at 'localhost'. Retrieving document at 'LSIDAuthorityServiceHTTPBindings.wsdl', relative to 'localhost'. Retrieving document at 'LSIDPortTypes.wsdl', relative to 'LSIDAuthorityServiceHTTPBindings.wsdl'. Retrieving document at 'LSIDAuthorityServiceSOAPBindings.wsdl', relative to 'localhost'. Retrieving document at 'LSIDPortTypes.wsdl', relative to 'LSIDAuthorityServiceSOAPBindings.wsdl'. Retrieving document at 'localhost'. Retrieving document at 'LSIDDataServiceHTTPBindings.wsdl', relative to 'localhost'. Retrieving document at 'LSIDPortTypes.wsdl', relative to 'LSIDDataServiceHTTPBindings.wsdl'. Retrieving document at 'LSIDDataServiceSOAPBindings.wsdl', relative to 'localhost'. Retrieving document at 'LSIDPortTypes.wsdl', relative to 'LSIDDataServiceSOAPBindings.wsdl'. urn:lsid:gdb.org:GenomicSegment:GDB132938 Error: 0 java.lang.ArrayIndexOutOfBoundsException: 0 at com.ibm.lsid.client.LSIDResolver.getMetadataFromPort (LSIDResolver.java:717) at com.ibm.lsid.client.LSIDResolver.getMetadata(LSIDResolver.java:553) at com.ibm.lsid.client.LSIDResolver.getMetadata(LSIDResolver.java:524) at LSIDTestClient.testAuthority(LSIDTestClient.java:213) at LSIDTestClient.main(LSIDTestClient.java:167) System.err.println(testAuthority ("urn:lsid:ubio.org:classificationbank:1164063",SOAP)); Retrieving document at 'localhost'. urn:lsid:ubio.org:classificationbank:1164063 Error: null java.lang.NullPointerException at com.ibm.lsid.wsdl.LSIDWSDLWrapper.extractPorts (LSIDWSDLWrapper.java:785) at com.ibm.lsid.wsdl.LSIDWSDLWrapper.<init>(LSIDWSDLWrapper.java:178) at com.ibm.lsid.client.LSIDResolver.resolveAuthority (LSIDResolver.java:157) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:761) at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java: 331) at LSIDTestClient.testAuthority(LSIDTestClient.java:209) at LSIDTestClient.main(LSIDTestClient.java:168) System.err.println(testAuthority("urn:lsid:tdwg.gbif.org:dharma: 10298322400",SOAP)); Error getting WSDL for authority: null, will attempt default bindings urn:lsid:tdwg.gbif.org:dharma:10298322400 Error: 500 : Root Cause: org.apache.axis.AxisFault ; nested exception is: java.net.UnknownHostException: tdwg.gbif.org com.ibm.lsid.LSIDException: 500 : Root Cause: org.apache.axis.AxisFault ; nested exception is: java.net.UnknownHostException: tdwg.gbif.org at com.ibm.lsid.soap.SOAPUtils.processAxisFault(SOAPUtils.java:119) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:857) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774) at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java: 331) at LSIDTestClient.testAuthority(LSIDTestClient.java:209) at LSIDTestClient.main(LSIDTestClient.java:169) printStackTrace(pw): com.ibm.lsid.LSIDException STACK TRACE FOR INNER EXCEPTION: org.apache.axis.AxisFault AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/} Server.userException faultSubcode: faultString: java.net.UnknownHostException: tdwg.gbif.org faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/} stackTrace:java.net.UnknownHostException: tdwg.gbif.org at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:430) at java.net.Socket.connect(Socket.java:516) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis.components.net.DefaultSocketFactory.create (DefaultSocketFactory.java:135) at org.apache.axis.components.net.DefaultSocketFactory.create (DefaultSocketFactory.java:99) at org.apache.axis.transport.http.HTTPSender.getSocket (HTTPSender.java:131) at org.apache.axis.transport.http.HTTPSender.writeToSocket (HTTPSender.java:370) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88) at org.apache.axis.strategies.InvocationStrategy.visit (InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:147) at org.apache.axis.client.Call.invokeEngine(Call.java:2719) at org.apache.axis.client.Call.invoke(Call.java:2702) at org.apache.axis.client.Call.invoke(Call.java:2378) at org.apache.axis.client.Call.invoke(Call.java:2301) at org.apache.axis.client.Call.invoke(Call.java:1758) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:840) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774) at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java: 331) at LSIDTestClient.testAuthority(LSIDTestClient.java:209) at LSIDTestClient.main(LSIDTestClient.java:169) {http://xml.apache.org/axis/}hostname:Benjamin-Goods-Computer.local java.net.UnknownHostException: tdwg.gbif.org at org.apache.axis.AxisFault.makeFault(AxisFault.java:101) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:97) at org.apache.axis.strategies.InvocationStrategy.visit (InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:147) at org.apache.axis.client.Call.invokeEngine(Call.java:2719) at org.apache.axis.client.Call.invoke(Call.java:2702) at org.apache.axis.client.Call.invoke(Call.java:2378) at org.apache.axis.client.Call.invoke(Call.java:2301) at org.apache.axis.client.Call.invoke(Call.java:1758) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:840) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774) at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java: 331) at LSIDTestClient.testAuthority(LSIDTestClient.java:209) at LSIDTestClient.main(LSIDTestClient.java:169) Caused by: java.net.UnknownHostException: tdwg.gbif.org at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:430) at java.net.Socket.connect(Socket.java:516) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis.components.net.DefaultSocketFactory.create (DefaultSocketFactory.java:135) at org.apache.axis.components.net.DefaultSocketFactory.create (DefaultSocketFactory.java:99) at org.apache.axis.transport.http.HTTPSender.getSocket (HTTPSender.java:131) at org.apache.axis.transport.http.HTTPSender.writeToSocket (HTTPSender.java:370) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88) ... 14 more System.err.println(testAuthority ("urn:lsid:lsid.zoology.gla.ac.uk:predicates:isBasionymOf",SOAP)); Retrieving document at 'localhost'. urn:lsid:lsid.zoology.gla.ac.uk:predicates:isBasionymOf Error: null java.lang.NullPointerException at com.ibm.lsid.wsdl.LSIDWSDLWrapper.extractPorts (LSIDWSDLWrapper.java:785) at com.ibm.lsid.wsdl.LSIDWSDLWrapper.<init>(LSIDWSDLWrapper.java:178) at com.ibm.lsid.client.LSIDResolver.resolveAuthority (LSIDResolver.java:157) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:761) at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java: 331) at LSIDTestClient.testAuthority(LSIDTestClient.java:209) at LSIDTestClient.main(LSIDTestClient.java:170) System.err.println(testAuthority("urn:lsid:ipni.org:names: 30000959-2",SOAP)); Error getting WSDL for authority: null, will attempt default bindings urn:lsid:ipni.org:names:30000959-2 Error: 500 : Root Cause: org.apache.axis.AxisFault ; nested exception is: java.net.ConnectException: Operation timed out com.ibm.lsid.LSIDException: 500 : Root Cause: org.apache.axis.AxisFault ; nested exception is: java.net.ConnectException: Operation timed out at com.ibm.lsid.soap.SOAPUtils.processAxisFault(SOAPUtils.java:119) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:857) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774) at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java: 331) at LSIDTestClient.testAuthority(LSIDTestClient.java:209) at LSIDTestClient.main(LSIDTestClient.java:171) printStackTrace(pw): com.ibm.lsid.LSIDException STACK TRACE FOR INNER EXCEPTION: org.apache.axis.AxisFault AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/} Server.userException faultSubcode: faultString: java.net.ConnectException: Operation timed out faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Operation timed out 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:430) at java.net.Socket.connect(Socket.java:516) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis.components.net.DefaultSocketFactory.create (DefaultSocketFactory.java:135) at org.apache.axis.components.net.DefaultSocketFactory.create (DefaultSocketFactory.java:99) at org.apache.axis.transport.http.HTTPSender.getSocket (HTTPSender.java:131) at org.apache.axis.transport.http.HTTPSender.writeToSocket (HTTPSender.java:370) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88) at org.apache.axis.strategies.InvocationStrategy.visit (InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:147) at org.apache.axis.client.Call.invokeEngine(Call.java:2719) at org.apache.axis.client.Call.invoke(Call.java:2702) at org.apache.axis.client.Call.invoke(Call.java:2378) at org.apache.axis.client.Call.invoke(Call.java:2301) at org.apache.axis.client.Call.invoke(Call.java:1758) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:840) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774) at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java: 331) at LSIDTestClient.testAuthority(LSIDTestClient.java:209) at LSIDTestClient.main(LSIDTestClient.java:171) {http://xml.apache.org/axis/}hostname:Benjamin-Goods-Computer.local java.net.ConnectException: Operation timed out at org.apache.axis.AxisFault.makeFault(AxisFault.java:101) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:97) at org.apache.axis.strategies.InvocationStrategy.visit (InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:147) at org.apache.axis.client.Call.invokeEngine(Call.java:2719) at org.apache.axis.client.Call.invoke(Call.java:2702) at org.apache.axis.client.Call.invoke(Call.java:2378) at org.apache.axis.client.Call.invoke(Call.java:2301) at org.apache.axis.client.Call.invoke(Call.java:1758) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:840) at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774) at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java: 331) at LSIDTestClient.testAuthority(LSIDTestClient.java:209) at LSIDTestClient.main(LSIDTestClient.java:171) Caused by: java.net.ConnectException: Operation timed out 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:430) at java.net.Socket.connect(Socket.java:516) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis.components.net.DefaultSocketFactory.create (DefaultSocketFactory.java:135) at org.apache.axis.components.net.DefaultSocketFactory.create (DefaultSocketFactory.java:99) at org.apache.axis.transport.http.HTTPSender.getSocket (HTTPSender.java:131) at org.apache.axis.transport.http.HTTPSender.writeToSocket (HTTPSender.java:370) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88) ... 14 more and just to show that it can possibly work System.err.println(testAuthority ("urn:lsid:biomoby.org:objectclass:DNASequence: 2001-09-21T16-00-00Z",SOAP)); Retrieving document at 'localhost'. Retrieving document at 'LSIDAuthorityServiceHTTPBindings.wsdl', relative to 'localhost'. Retrieving document at 'LSIDPortTypes.wsdl', relative to 'LSIDAuthorityServiceHTTPBindings.wsdl'. Retrieving document at 'LSIDAuthorityServiceSOAPBindings.wsdl', relative to 'localhost'. Retrieving document at 'LSIDPortTypes.wsdl', relative to 'LSIDAuthorityServiceSOAPBindings.wsdl'. Retrieving document at 'localhost'. Retrieving document at 'LSIDDataServiceHTTPBindings.wsdl', relative to 'localhost'. Retrieving document at 'LSIDPortTypes.wsdl', relative to 'LSIDDataServiceHTTPBindings.wsdl'. Retrieving document at 'LSIDDataServiceSOAPBindings.wsdl', relative to 'localhost'. Retrieving document at 'LSIDPortTypes.wsdl', relative to 'LSIDDataServiceSOAPBindings.wsdl'. urn:lsid:biomoby.org:objectclass:DNASequence:2001-09-21T16-00-00Z metadata bytes read: 4665 metadata expires: Thu Jul 12 06:02:56 PDT 2007 metadata format: application/xml+rdf Data Read: 2472 bytes of data. On Jul 12, 2007, at 12:20 PM, Ricardo Pereira wrote: > Dear Benjamin, > > Please see my answers below (inline). > > Benjamin Good wrote: >> I managed to get the Java client code from IBM (http://tinyurl.com/ >> 2hvjf6 ) running this morning, but a) it was a pain > Maybe we should make the client libraries easier to use. I don't > know exactly how easy it is to use the resolution (client) part of > the Java stack, but the Perl one is dead simple to use. > > In any case, could you please be more specific and tell us (of just > me off list if you want) what were the major hurdles you had to > hop? That will help us address the issues more quickly. >> and b) of the few lsids I had on hand, only one of them worked. > Did you try and test these LSIDs on Rod Page's LSID tester (http:// > linnaeus.zoology.gla.ac.uk/~rpage/lsid/tester/) or the TDWG LSID on- > line resolver (http://lsid.tdwg.org/)? Many LSIDs, especially those > from BioPathways are "broken" after they've switched off their LSID > site. > > In any case, here are a few that work: > > urn:lsid:col2005.gbif.org:col2005:tc-(t.1246388)(d.)(cn.)(r.) > urn:lsid:ubio.org:namebank:11815 > urn:lsid:lsid.zoology.gla.ac.uk:predicates:isBasionymOf > urn:lsid:tdwg.gbif.org:dharma:10298322400 > urn:lsid:ubio.org:namebank:11815 > urn:lsid:ubio.org:classificationbank:1164063 > urn:lsid:indexfungorum.org:Names:213649 > urn:lsid:gdb.org:GenomicSegment:GDB132938 > urn:lsid:ipni.org:names:30000959-2 > > There are more LSIDs that work listed at: http:// > lsids.sourceforge.net/resources/authorities/ > >> I'm pretty new (and hesitant to join) the standards wars, but I >> think there is really a lot of power in the "he who codes first >> [and best]" wins" argument. For those of you arguing for the >> adoption of LSIDs, IMHO, the most powerful thing you could really >> do at this point would be to step up and take over the development >> of the (as far as I can tell) abandoned code stack at the often- >> discussed sourceforge site. Given their experience using lsids, >> the BioMoby team (sorry Ed..) is really the most likely candidate >> to do this effectively. > You are absolutely right. However, we, from the biodiversity > information community, are also interested pushing LSIDs forward. > We have now updated the LSID website (now at http://lsids.sf.net - > to be formally annouced shortly) and created a new SF developer > site (http://sf.net/projects/lsids) to carry out new development. > > On the source code front, we have some colleagues who have modified > the Java stack to work with their WebWork/Struts server. We will > take a look at their work and try to make it more general so others > can use. > > You will definitely hear more about all this shortly. > > Cheers, > > Ricardo > >
Received on Thursday, 12 July 2007 20:09:12 UTC