From: Stracchino, P. <Per...@bl...> - 2005-09-07 14:53:02
|
Hi=20 =20 Did you get a chance to have a look at this, or can anyone else throw any light on our problem? At present we are continuing development with the old jzkit2_z3950_plugin_2.0.0.jar, as we can query an unauthenticated datbase during internal development, but we will need to move to the new (2.0.1) jar in order to access our live databases, which require client authentication. The new jar implements the authentication beautifully, but it throws a null pointer exception (see below) when 'present' is called. =20 cheers Peri =20 Yeah... this looks like a problem with the OID Register entry. I think the problem is that the newer source code uses a spring application context. I'll take a harder look later on today. Ian. =09 On Wed, 2005-08-24 at 10:18 +0100, Stracchino, Peri wrote: =09 > Hi> =09 Have used the new jar (version 2.0.1) to gain access to our=20 =09 > id/password autheniticated database. The authentication is now working=20 =09 > well, however a new problem seems to have been introduced which was=20 =09 > previously working correctly. Basically a null pointer exception is=20 =09 > now thrown when 'present' is called. =09 >=20 =09 > This is definately a feature of the new jar, as I have tested it=20 =09 > against a database which does not require authentication, using=20 =09 > firstly the 2.0.0 jar and secondly the 2.0.1 jar. The error only=20 =09 > occurs with 2.0.1 - when 2.0.0 is used, the expected data is displayed=20 =09 > correctly. =09 >=20 =09 > Are there perhaps other differences between the two jars that we need=20 =09 > to take account of when implementing our present method? =09 >=20 =09 > Stack trace and implementation listings below: =09 >=20 =09 > This is the stack trace; =09 >=20 =09 > [java] 23-Aug-2005 16:43:36=20 =09 > org.jzkit.search.provider.z3950.Z3950Origin incomingPresentResponse =09 > [java] SEVERE: Unable to locate callback target or outstanding =09 > operation info for refid 32820206:0 =09 > [java] java.lang.NullPointerException =09 > [java] at =09 > org.jzkit.a2j.gen.AsnUseful.EXTERNAL_codec.serialize(EXTERNAL_codec.java :41) =09 > [java] at =09 > org.jzkit.a2j.codec.runtime.BEROutputStream.choice(BEROutputStream.java: 295) =09 > [java] at =09 > org.jzkit.z3950.gen.v3.Z39_50_APDU_1995.record_inline13_codec.serialize( record_inline13_codec.java:52) =09 > [java] at =09 > org.jzkit.a2j.codec.runtime.BEROutputStream.explicit_tag(BEROutputStream .java:409) =09 > [java] at =09 > org.jzkit.z3950.gen.v3.Z39_50_APDU_1995.NamePlusRecord_codec.serialize(N amePlusRecord_codec.java:55) =09 > [java] at =09 > org.jzkit.a2j.codec.runtime.BEROutputStream.sequenceOf(BEROutputStream.j ava:435) =09 > [java] at =09 > org.jzkit.z3950.gen.v3.Z39_50_APDU_1995.responseRecords_inline11_codec.s erialize(responseRecords_inline11_codec.java:46) =09 > [java] at =09 > org.jzkit.a2j.codec.runtime.BEROutputStream.choice(BEROutputStream.java: 289) =09 > [java] at =09 > org.jzkit.z3950.gen.v3.Z39_50_APDU_1995.Records_codec.serialize(Records_ codec.java:50) =09 > [java] at =09 > org.jzkit.z3950.gen.v3.Z39_50_APDU_1995.PresentResponse_codec.serialize( PresentResponse_codec.java:61) =09 > [java] at =09 > org.jzkit.a2j.codec.runtime.BEROutputStream.choice(BEROutputStream.java: 289) =09 > [java] at =09 > org.jzkit.z3950.gen.v3.Z39_50_APDU_1995.PDU_codec.serialize(PDU_codec.ja va:70) =09 > [java] at =09 > org.jzkit.z3950.util.ZTargetEndpoint.encodeAndSend(ZTargetEndpoint.java: 384) =09 > [java] at =09 > org.jzkit.z3950.server.ZServerAssociation.notifyPresentResult(ZServerAss ociation.java:372) =09 > [java] at test.JZKitBackend.present(JZKitBackend.java:105) =09 > [java] at =09 > org.jzkit.z3950.server.ZServerAssociation.incomingPresentRequest(ZServer Association.java:335) =09 > [java] at =09 > org.jzkit.z3950.util.GenericEventToTargetListenerAdapter.update(GenericE ventToTargetListenerAdapter.java:66) =09 > [java] at =09 > java.util.Observable.notifyObservers(Observable.java:142) =09 > [java] at =09 > org.jzkit.z3950.util.ZTargetEndpoint.notifyAPDUEvent(ZTargetEndpoint.jav a:211) =09 > [java] at =09 > org.jzkit.z3950.util.ZTargetEndpoint.run(ZTargetEndpoint.java:419) =09 >=20 =09 >=20 =09 > And this is the implementation we are using - which does work using=20 =09 > 2.0.0; =09 >=20 =09 > public void present(BackendPresentResult bpr) {=20 =09 > try { =09 > IRResultSet resultSet =3D=20 =09 > (IRResultSet)result_sets.get(bpr.result_set_name); =09 > bpr.result_records =3D resultSet.getFragment(bpr.start,=20 =09 > bpr.count, bpr.archetype); bpr.next_result_set_position =3D bpr.start +=20 =09 > bpr.count; =09 > bpr.assoc.notifyPresentResult(bpr); =09 > } catch(Exception e) { =09 > e.printStackTrace(); =09 > } =09 > } =09 Hoping you can throw some light on this =09 =20 =09 > Peri =09 > ********************************************************************** *************************************************************************= * =20 Experience the British Library online at www.bl.uk =20 Help the British Library conserve the world's knowledge. Adopt a Book. = www.bl.uk/adoptabook =20 The Library's St Pancras site is WiFI - enabled =20 *************************************************************************= * =20 The information contained in this e-mail is confidential and may be = legally privileged. It is intended for the addressee(s) only. If you are = not the intended recipient, please delete this e-mail and notify the = pos...@bl... : The contents of this e-mail must not be disclosed or = copied without the sender's consent.=20 =20 The statements and opinions expressed in this message are those of the = author and do not necessarily reflect those of the British Library. The = British Library does not take any responsibility for the views of the = author.=20 =20 *************************************************************************= * |