Michael,

Thanks for your effort in checking out your code again. Yes, its true, I'm more interested in this from the clients standpoint. Its interesting to see this issue thought about in terms of the Service. It seems the real limitation now is only in the xml-rpc client driver.

I think the real struggle would be where the URL ends and the Service begins, generically we are talking about:

xmldb:xindice://host:port/url/database/collection

In the current implementation case, if the client could provided for the full uri location of the xml-rpc service it would look like this:

xmldb:xindice://somewhere.org:80/Xindice/db/AddressBook

In this case my question would be, where the xml-rpc service started at in the path, it could be: /Xindice, /db, or /AddressBook.

From the xmlrpc Collection constructor, it would appear that this would be very important and difficult to account for as the xmlrpc service is hardcoded to this point:


String xmlrpcURI = "http://"; + hostPort + XINDICE_SERVICE_LOCATION; ... client = new XmlRpcClient(xmlrpcURI);

/* Just check the collection does actually exist */
Hashtable params = new Hashtable();
params.put(RPCDefaultMessage.COLLECTION, collPath);
String exists = (String) runRemoteCommand("GetCollectionConfiguration", params);


...

Maybe this is a task more appropriately handled in the "configuration" capabilities that are promoted for the next version of xmldb?

something like: path-to-service=/Xindice and free up XINDICE_SERVICE_LOCATION as a property that is adjustable?

After working with JNDI for awhile, I have to say that leaving such properties to an "Environmental" configuration really does leave the implementors with alot more freedom when providing configuration capabilities.

-Mark

Michael Westbay (Dev) wrote:
Sorry, ignore that last message. I thought you were wondering why the servlet was hard coded to /Xindice - that's what I had fixed so that it would work under any context one chose. I didn't explore the client code - which I thought did work as you described in your first message. It's been several months since I tested this, and I no longer have the test environment that I had before.

I'll setup Xindice again and dig my tests out of an archive.

The servlet no longer has the restriction you're referring to. That's all I can say for sure right now. Hope I didn't cause too much confusion.




Reply via email to