Hmm. This works fine in CXF. Do you all care enough to put more effort into avoiding the extra buffer?
On Tue, Feb 8, 2011 at 9:10 AM, Simon Wibberley <[email protected]> wrote: >> What version of woodstox? > > 3.2.9 and 4.1.1 I believe. > > Simon > >> On Tue, Feb 8, 2011 at 8:37 AM, Andy Seaborne >> <[email protected]> wrote: >>> Simon, >>> >>> Thanks for a complete, minimal example. I get the same error. >>> >>> I suspect it's not woodstox per se, but a lower level networking issue >>> because I can get things to work by reading the data as fast as possible. >>> Maybe woodstow's use of the inputstream is seeing the connection close flag >>> without making sure there isn't more data to read. >>> >>> The code in ARQ SVN has a workaround for this - it slurps up the network >>> bytes as fast as possible, then passes them to woodstox; woodstox is not >>> then working over the network input stream but instead a >>> ByteArrayInputStream. >>> >>> (An alternative, I tried was adding a buffering layer to the input stream >>> but that didn't work). >>> >>> Andy >>> >>> On 07/02/11 23:09, Simon Wibberley wrote: >>>> >>>> Hi there, >>>> >>>> I'm trying to query dbpedia for a list of company names. I'm >>>> inconsistently getting WstxEOFException's caught by jena, which then >>>> raises a ResultSetException. This happens after some data has been read >>>> successfully. Following the tcp stream in wireshark shows a complete >>>> response from the dbpedia server. >>>> >>>> Is this a bug in woodstox? I've tried replacing the libs with wstx4 and >>>> stax2, but same error occurred. Is there anything I'm doing wrong/badly >>>> with jena/sparql? (I'm relatively new to this). The minimal test case >>>> below seems to reproduce the error (output also below) reliably. I've >>>> tried this on both windows7 and OS X 10.6 from different locations. >>>> Could you check to see if you get the same error? >>>> >>>> Any ideas? >>>> >>>> Many thanks, >>>> >>>> Simon Wibberley >>>> >>>> import com.hp.hpl.jena.query.Query; >>>> import com.hp.hpl.jena.query.QueryExecution; >>>> import com.hp.hpl.jena.query.QueryExecutionFactory; >>>> import com.hp.hpl.jena.query.QueryFactory; >>>> import com.hp.hpl.jena.query.QuerySolution; >>>> import com.hp.hpl.jena.query.ResultSet; >>>> import com.hp.hpl.jena.rdf.model.RDFNode; >>>> >>>> public class TestJena { >>>> public static void main(String[] args) { >>>> >>>> String queryString = "PREFIX rdf: >>>> <http://www.w3.org/1999/02/22-rdf-syntax-ns#>" >>>> + "PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>" >>>> + "SELECT ?var " >>>> + "WHERE { ?var rdf:type dbpedia-owl:Company . }"; >>>> >>>> Query query = QueryFactory.create(queryString); >>>> >>>> QueryExecution qexec = QueryExecutionFactory.sparqlService( >>>> "http://dbpedia.org/sparql", query); >>>> ResultSet rs = null; >>>> >>>> rs = qexec.execSelect(); >>>> qexec.close(); >>>> >>>> while(rs.hasNext()) { >>>> QuerySolution sqs = rs.next(); >>>> RDFNode node = sqs.get("var"); >>>> System.out.println(node); >>>> } >>>> } >>>> >>>> >>>> } >>>> >>>> com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close >>>> tag for element <uri> >>>> at [row,col {unknown-source}]: [106,47] >>>> at >>>> com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686) >>>> at >>>> >>>> com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2730) >>>> at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) >>>> at >>>> >>>> com.ctc.wstx.sr.BasicStreamReader.getElementText(BasicStreamReader.java:669) >>>> >>>> at >>>> >>>> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.getOneSolution(XMLInputStAX.java:480) >>>> >>>> at >>>> >>>> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.hasNext(XMLInputStAX.java:216) >>>> >>>> at sw206.TestJena.main(TestJena.java:31) >>>> Exception in thread "main" >>>> com.hp.hpl.jena.sparql.resultset.ResultSetException: XMLStreamException: >>>> Unexpected EOF; was expecting a close tag for element <uri> >>>> at [row,col {unknown-source}]: [106,47] >>>> at >>>> >>>> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.staxError(XMLInputStAX.java:510) >>>> >>>> at >>>> >>>> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.hasNext(XMLInputStAX.java:220) >>>> >>>> at sw206.TestJena.main(TestJena.java:31) >>>> Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was >>>> expecting a close tag for element <uri> >>>> at [row,col {unknown-source}]: [106,47] >>>> at >>>> com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686) >>>> at >>>> >>>> com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2730) >>>> at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) >>>> at >>>> >>>> com.ctc.wstx.sr.BasicStreamReader.getElementText(BasicStreamReader.java:669) >>>> >>>> at >>>> >>>> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.getOneSolution(XMLInputStAX.java:480) >>>> >>>> at >>>> >>>> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.hasNext(XMLInputStAX.java:216) >>>> >>>> ... 1 more >>>> 22:59:25,250 WARN XMLInputStAX$ResultSetStAX:73 - StAX error: >>>> XMLStreamException: Unexpected EOF; was expecting a close tag for >>>> element <uri> >>>> at [row,col {unknown-source}]: [106,47] >>>> com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close >>>> tag for element <uri> >>>> at [row,col {unknown-source}]: [106,47] >>>> at >>>> com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686) >>>> at >>>> >>>> com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2730) >>>> at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) >>>> at >>>> >>>> com.ctc.wstx.sr.BasicStreamReader.getElementText(BasicStreamReader.java:669) >>>> >>>> at >>>> >>>> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.getOneSolution(XMLInputStAX.java:480) >>>> >>>> at >>>> >>>> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.hasNext(XMLInputStAX.java:216) >>>> >>>> at sw206.TestJena.main(TestJena.java:31) >>>> >>>> >>>> >>>> >>> > > > -- > Simon Wibberley > DPhil Student > > Machine Learning and Computational Linguistics > Chichester 1, R203 > Informatics > University of Sussex > Brighton, UK > [email protected] > > > >
