|
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
*************************************************************************=
*
|