I am determined to keep cross-database searching out of SRW!
Here is the argument I've been making from the beginning about this issue:
Users don't care whether the two databases that they want to search are on
the same server or not. They will enter searches that cross two databases
on different servers. The client code must be able to handle the cross
database searching in this case. If the client must be able to handle the
cross database searching, then why should the server have to do it?
Especially when it adds considerable complexity to the standard. Don't do
> -----Original Message-----
> From: Alan Kent [mailto:[log in to unmask]]
> Sent: Tuesday, October 30, 2001 6:50 PM
> To: [log in to unmask]
> Subject: Re: RPC Context (slightly less garbled!)
> On Tue, Oct 30, 2001 at 10:46:24PM -0000, Matthew Dovey wrote:
> > Ralph,
> > The approach I've outlined would work using the Apache
> SOAP/Java toolkit
> > although the database would be determined by the URN defined in the
> > deployment descriptor which is passed in the SOAP request
> as the HTTP
> > HEADER SOAP-Action.
> While this should work, it seems messy to me. If you have lots of
> arguments passed in a SOAP request, why put some information here
> and some information there?
> But I agree, its a tricky one. How much of Z39.50 do you make
> For example, the current scheme seems to rule out cross database
> searching. There can only be one database selected. Z39.50 allows
> an array of database names to be specified which ZNG is explicitly
> disallowing. The URL form for requests may find this difficult.
> The SOAP RPC encoding would find it trivial.
> It also means you need a different WSDL file per database you want
> to talk. Many clients pre-compile the WSDL file. The SOAP-Action is
> normally taken from the WSDL file. So using SOAP-Action to pick
> the database means you cannot write a generic library (using some
> of the SOAP toolkits) that takes database name as an argument.
> But then what about server name - should you be able to select
> a server and database to search? Should these be parameters
> to requests
> too? Or hard coded into a client library? My current implementation
> ended up getting the Z39.50 server name and database name from the
> end point URL. My toolkit does not support using SOAP-Action for
> this sort of dynamic parameter passing.