Cool, thanks for the info, I'll give it a try. Thanks, -Jacobd
On 3/15/07, Garth Patil <[EMAIL PROTECTED]> wrote:
Error #2 occurs after Error #1 regardless if the XML is well-formed. An example of several requests: 1. send in good xml -- > successful parse with no errors. 2. send in good xml -- > successful parse with no errors. 3. send in bad xml -- > Error #1. 4. send in good xml -- > successful parse with no errors. 5. send in good xml -- > Error #2. 6. send in good xml -- > successful parse with no errors. 7. send in good xml -- > Error #2. 8. send in good xml -- > successful parse with no errors. 9. send in bad xml -- > Error #2. 10. send in good xml -- > successful parse with no errors. 11. send in good xml -- > Error #2. 12. send in good xml -- > successful parse with no errors. Once Error #1 occurs, Error #2 occurs in an alternating fashion with a successful parse (assuming the xml is good). That's why I'm guessing that something is becoming corrupted in the Factory. Thanks, Garth On 3/15/07, Jacob Danner <[EMAIL PROTECTED]> wrote: > Hi Garth, > From my experiences with Xmlbeans, Error #1 is expected whenever > bad/invalid xml is encountered. XMLBeans was not made to work with bad > xml. > As far as error #2, I'm not sure why you are getting that, but I'll > investigate a little bit more. > So I understand, are you saying error #2 occurs when you pass in good, > then bad xml? Does it ever just occur when you pass in the bad XML? > Thanks, > -Jacobd > > On 3/15/07, Garth Patil <[EMAIL PROTECTED]> wrote: > > Hi, > > I'm seeing a problem with using the Factory parse() method corrupting > > after it sees malformed XML. For example, I have a web service that > > receives XML over an HTTP POST, and uses Xmlbeans to parse the XML. I > > use the parse() method that takes a String. > > When I send an intentionally invalid XML string to the service, it > > produces Error #1 below. The XML I send is: > > <?xml verion="1.0" ?> > > <request clientId="1234" clientKey="5678"> > > <message>Test message</message> > > </request> > > > > Notice that the XML declaration has "verion" instead of "version" > > (missing the "s"). When I correct the XML and send the following, the > > parse() method succeeds half the time and fails (with Error #2 below) > > half the time. The successes and failures exactly alternate. > > <?xml version="1.0" ?> > > <request clientId="1234" clientKey="5678"> > > <message>Test message</message> > > </request> > > > > Has anyone seen a similar behavior? Is there any way to tell the > > document factory to dispose of it's digesters and create new ones if > > there is an error while parsing? > > Thanks, > > Garth > > > > Error #1: > > 2007-03-15 15:50:48,621 [http-9602-Processor23] ERROR > > com.someone.gateway.servlet.request.Request - Error parsing xml input > > stream! > > org.apache.xmlbeans.XmlException: XML Declaration not well-formed > > at org.apache.xmlbeans.impl.newstore2.Locale$SaxLoader.load(Locale.java:2770) > > at org.apache.xmlbeans.impl.newstore2.Locale.parse(Locale.java:626) > > at org.apache.xmlbeans.impl.newstore2.Locale.parseToXmlObject(Locale.java:611) > > at org.apache.xmlbeans.impl.newstore2.Locale.parseToXmlObject(Locale.java:605) > > at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:200) > > at net.someone.gateway.RequestDocument$Factory.parse(RequestDocument.java:51) > > at com.someone.gateway.servlet.request.Request.parse(Request.java:52) > > at com.someone.gateway.servlet.Gateway.doPost(Gateway.java:64) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) > > at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) > > at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > > at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > > at java.lang.Thread.run(Thread.java:595) > > Caused by: org.apache.xmlbeans.impl.piccolo.io.FileFormatException: > > XML Declaration not well-formed > > at org.apache.xmlbeans.impl.piccolo.xml.XMLDeclParser.parse(XMLDeclParser.java:905) > > at org.apache.xmlbeans.impl.piccolo.xml.XMLInputReader.parseXMLDeclaration(XMLInputReader.java:56) > > at org.apache.xmlbeans.impl.piccolo.xml.XMLReaderReader.processXMLDecl(XMLReaderReader.java:260) > > at org.apache.xmlbeans.impl.piccolo.xml.XMLReaderReader.reset(XMLReaderReader.java:85) > > at org.apache.xmlbeans.impl.piccolo.xml.DocumentEntity.open(DocumentEntity.java:75) > > at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.reset(PiccoloLexer.java:971) > > at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:697) > > at org.apache.xmlbeans.impl.newstore2.Locale$SaxLoader.load(Locale.java:2756) > > ... 23 more > > > > > > Error #2: > > 2007-03-15 15:51:41,512 [http-9602-Processor23] ERROR > > com.someone.gateway.servlet.request.Request - Error parsing xml input > > stream! > > java.lang.NullPointerException > > at org.apache.xmlbeans.impl.piccolo.xml.DocumentEntity.close(DocumentEntity.java:154) > > at org.apache.xmlbeans.impl.piccolo.xml.DocumentEntity.reset(DocumentEntity.java:134) > > at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:696) > > at org.apache.xmlbeans.impl.newstore2.Locale$SaxLoader.load(Locale.java:2756) > > at org.apache.xmlbeans.impl.newstore2.Locale.parse(Locale.java:626) > > at org.apache.xmlbeans.impl.newstore2.Locale.parseToXmlObject(Locale.java:611) > > at org.apache.xmlbeans.impl.newstore2.Locale.parseToXmlObject(Locale.java:605) > > at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:200) > > at net.someone.gateway.RequestDocument$Factory.parse(RequestDocument.java:51) > > at com.someone.gateway.servlet.request.Request.parse(Request.java:52) > > at com.someone.gateway.servlet.Gateway.doPost(Gateway.java:64) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) > > at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) > > at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > > at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > > at java.lang.Thread.run(Thread.java:595) > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

