- 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