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]

Reply via email to