You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-dev@xml.apache.org by Ñîǧ¶° <qd...@bioinfochina.com> on 2001/12/20 07:07:19 UTC

A BUG of dbXML?

I modified dbXML example APIExample.java, change 
      String document = "<?xml version=\"1.0\"?>\n <test>Test</test>";
to
      String document = "<?xml version=\"1.0\"?>\n <test>测试测试测试</test>";

It is a Chinse GB2312 string. Then I compile and run the APIExample. There is exception in retrieveDocument call and server.
And the output is not right: I store 6 Chinese characters, but only first 3 characters are retrived. 

> This is the APIExample output:

Database Name db
Document Key: test

Retrieving Document using getResource
test
DEBUG>
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:343)
        at org.dbxml.xml.XMLCompressedInput.readContentSize(Unknown Source)
        at org.dbxml.xml.dom.ContainerNodeImpl.loadChildren(Unknown Source)
        at org.dbxml.xml.dom.ElementImpl.checkLoaded(Unknown Source)
        at org.dbxml.xml.dom.NodeImpl.getNodeName(Unknown Source)
        at org.dbxml.xml.dom.ElementImpl.getTagName(Unknown Source)
        at org.dbxml.xml.TextWriter.writeNode(Unknown Source)
        at org.dbxml.xml.TextWriter.writeChildren(Unknown Source)
        at org.dbxml.xml.TextWriter.writeNode(Unknown Source)
        at org.dbxml.xml.TextWriter.write(Unknown Source)
        at org.dbxml.xml.TextWriter.toString(Unknown Source)
        at org.dbxml.xml.TextWriter.toString(Unknown Source)
        at org.dbxml.client.xmldb.resources.XMLResourceImpl.getContent(Unknown Source)
        at org.dbxml.examples.APIExample.retrieveDocument(APIExample.java:123)
        at org.dbxml.examples.APIExample.main(APIExample.java:64)
<?xml version="1.0"?>
<test>测试测</test>

Retrieving Documents using a query.
<?xml version="1.0"?>
<test xmlns:src="http://www.dbxml.org/Query" src:col="/db/root/ocs" src:key="test">测试测</test>



> And the SERVER output:

Server Running
DEBUG>
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:343)
        at org.dbxml.xml.XMLCompressedInput.readContentSize(Unknown Source)
        at org.dbxml.xml.sax.SAXEventGenerator.processContainer(Unknown Source)
        at org.dbxml.xml.sax.SAXEventGenerator.processContainer(Unknown Source)
        at org.dbxml.xml.sax.SAXEventGenerator.processDocument(Unknown Source)
        at org.dbxml.xml.sax.SAXEventGenerator.start(Unknown Source)
        at org.dbxml.core.indexer.IndexManager$SAXHandler.<init>(Unknown Source)

        at org.dbxml.core.indexer.IndexManager$SAXHandler.<init>(Unknown Source)

        at org.dbxml.core.indexer.IndexManager.removeDocument(Unknown Source)
        at org.dbxml.core.Collection.putDocument(Unknown Source)
        at org.dbxml.core.Collection.insertDocument(Unknown Source)
        at org.dbxml.core.corba.CollectionServant.insertDocument(Unknown Source)

        at org.dbxml.core.corba.db.CollectionPOA._invoke(Unknown Source)
        at org.openorb.adapter.poa.POA.dispatch(POA.java:975)
        at org.openorb.net.AbstractServerRequest.dispatch(AbstractServerRequest.java:750)
        at org.openorb.net.ServerManagerImpl.serve_request(ServerManagerImpl.java:1467)
        at org.openorb.net.ServerManagerImpl.thread_pool_main(ServerManagerImpl.java:1410)
        at org.openorb.net.ServerManagerImpl.access$200(ServerManagerImpl.java:77)
        at org.openorb.net.ServerManagerImpl$PoolThread.run(ServerManagerImpl.java:1557)
DEBUG>
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:343)
        at org.dbxml.xml.XMLCompressedInput.readContentSize(Unknown Source)
        at org.dbxml.xml.sax.SAXEventGenerator.processContainer(Unknown Source)
        at org.dbxml.xml.sax.SAXEventGenerator.processContainer(Unknown Source)
        at org.dbxml.xml.sax.SAXEventGenerator.processDocument(Unknown Source)
        at org.dbxml.xml.sax.SAXEventGenerator.start(Unknown Source)
        at org.dbxml.core.indexer.IndexManager$SAXHandler.<init>(Unknown Source)

        at org.dbxml.core.indexer.IndexManager$SAXHandler.<init>(Unknown Source)

        at org.dbxml.core.indexer.IndexManager.addDocument(Unknown Source)
        at org.dbxml.core.Collection.putDocument(Unknown Source)
        at org.dbxml.core.Collection.insertDocument(Unknown Source)
        at org.dbxml.core.corba.CollectionServant.insertDocument(Unknown Source)

        at org.dbxml.core.corba.db.CollectionPOA._invoke(Unknown Source)
        at org.openorb.adapter.poa.POA.dispatch(POA.java:975)
        at org.openorb.net.AbstractServerRequest.dispatch(AbstractServerRequest.java:750)
        at org.openorb.net.ServerManagerImpl.serve_request(ServerManagerImpl.java:1467)
        at org.openorb.net.ServerManagerImpl.thread_pool_main(ServerManagerImpl.java:1410)
        at org.openorb.net.ServerManagerImpl.access$200(ServerManagerImpl.java:77)
        at org.openorb.net.ServerManagerImpl$PoolThread.run(ServerManagerImpl.java:1557)
DEBUG>
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:343)
        at org.dbxml.xml.XMLCompressedInput.readContentSize(Unknown Source)
        at org.dbxml.xml.dom.ContainerNodeImpl.loadChildren(Unknown Source)
        at org.dbxml.xml.dom.ElementImpl.checkLoaded(Unknown Source)
        at org.dbxml.xml.dom.NodeImpl.getPrefix(Unknown Source)
        at org.dbxml.xml.dom.NodeImpl.getNamespaceURI(Unknown Source)
        at org.apache.xpath.DOM2Helper.getNamespaceOfNode(DOM2Helper.java:348)
        at org.apache.xpath.patterns.NodeTest.execute(NodeTest.java:488)
        at org.apache.xpath.axes.PredicatedNodeTest.acceptNode(PredicatedNodeTest.java:388)
        at org.apache.xpath.axes.ChildWalkerMultiStep.getNextNode(ChildWalkerMultiStep.java:106)
        at org.apache.xpath.axes.ChildWalkerMultiStep.nextNode(ChildWalkerMultiStep.java:147)
        at org.apache.xpath.axes.LocPathIterator.nextNode(LocPathIterator.java:689)
        at org.apache.xpath.NodeSet.addNodes(NodeSet.java:550)
        at org.apache.xpath.NodeSet.<init>(NodeSet.java:154)
        at org.apache.xpath.objects.XNodeSet.mutableNodeset(XNodeSet.java:291)
        at org.dbxml.core.query.XPathQueryResolver$ResultSet.prepareNextNode(Unknown Source)
        at org.dbxml.core.query.XPathQueryResolver$ResultSet.<init>(Unknown Source)
        at org.dbxml.core.query.XPathQueryResolver$XPathQuery.execute(Unknown Source)
        at org.dbxml.core.query.XPathQueryResolver.query(Unknown Source)
        at org.dbxml.core.query.QueryEngine.query(Unknown Source)
        at org.dbxml.core.Collection.queryCollection(Unknown Source)
        at org.dbxml.core.corba.CollectionServant.queryCollection(Unknown Source)
        at org.dbxml.core.corba.db.CollectionPOA._invoke(Unknown Source)
        at org.openorb.adapter.poa.POA.dispatch(POA.java:975)
        at org.openorb.net.AbstractServerRequest.dispatch(AbstractServerRequest.java:750)
        at org.openorb.net.ServerManagerImpl.serve_request(ServerManagerImpl.java:1467)
        at org.openorb.net.ServerManagerImpl.thread_pool_main(ServerManagerImpl.java:1410)
        at org.openorb.net.ServerManagerImpl.access$200(ServerManagerImpl.java:77)
        at org.openorb.net.ServerManagerImpl$PoolThread.run(ServerManagerImpl.java:1557) 




Re: A BUG of dbXML?

Posted by Murray Altheim <mu...@sun.com>.
Ñîǧ¶° wrote:
> 
> I modified dbXML example APIExample.java, change
>       String document = "<?xml version=\"1.0\"?>\n <test>Test</test>";
> to
>       String document = "<?xml version=\"1.0\"?>\n <test>²âÊÔ²âÊÔ²âÊÔ</test>";
> 
> It is a Chinse GB2312 string. Then I compile and run the APIExample. There is exception in retrieveDocument call and server.
> And the output is not right: I store 6 Chinese characters, but only first 3 characters are retrived.

I would suggest modifying your XML declaration from 

   <?xml version="1.0"?> 

to

   <?xml version="1.0" encoding="XXXXX"?> 

where XXXXX is explicitly the document encoding, since this error sounds
suspiciously like a byte order or some other Unicode issue. 

Murray

...........................................................................
Murray Altheim                         <mailto:murray.altheim&#x40;sun.com>
XML Technology Center, Java and XML Software
Sun Microsystems, Inc., MS MPK17-102, 1601 Willow Rd., Menlo Park, CA 94025

               Rally against the evils of iceburg lettuce! 
            Grab a kitchen knife and join the Balsamic Jihad!