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)