Re: XmlPullParser::next() hangs midway after receiving a few tokens
Aleksander Slominski <[email protected]> Sun, 19 Nov 2006 19:51:22 -0500
| Newsgroups | gmane.text.xml.xmlpull.devel |
|---|---|
| Message-ID | <[email protected]> |
--luZAkruIXiZXXvNsucdBakQzJNuEwabkxMvkGgV Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit mvemulak wrote: > I have a simple Jabber(XMPP) client. When I use JDK (J2SE), he parser > pulls > the data fine. But when I use the same in J2ME (MIDP) environment, the > client hangs after receiving a few messages. It hangs at > XmlPullParser::next(). > Any ideas ? > input stream (how you set it up) and character encoding are common suspects. for example see [1] HTH, alek [1] -------- Original Message -------- Subject: Re: [Kxml-devel] Howto parse large amounts of XML data Date: Mon, 13 Nov 2006 23:47:22 +0100 From: Florian Schricker <[email protected]> To: Stefan Haustein <[email protected]> CC: [email protected] References: <1162990214.12921.10.camel@localhost> <[email protected]> <1163151856.7060.9.camel@localhost> <[email protected]> <1163166085.24520.9.camel@localhost> <[email protected]> Hi Stefan! On Sun, 2006-11-12 at 23:44 +0100, Stefan Haustein wrote: > Could you try to use the InputStreamReader in your while loop, and try > to read chunks of 128 characters? Given a successful HttpConnection c, I ran: InputStreamReader isr = new InputStreamReader(c.openInputStream()); int ch; char[] chunk = new char[128]; while ((ch = isr.read(chunk, 0, 128)) != -1) { System.out.print(chunk); } This bails out with: java.lang.ArrayIndexOutOfBoundsException: at com.sun.kvem.cldc.i18n.j2me.GenericReader.read(+139) at java.io.InputStreamReader.read(+56) at MainMIDlet.startApp(+152) at javax.microedition.midlet.MIDletProxy.startApp(+7) at com.sun.midp.midlet.Scheduler.schedule(+270) at com.sun.midp.main.Main.runLocalClass(+28) at com.sun.midp.main.Main.main(+116) > The error probably stems from a mismatch of the default encoding of the > InputStreamReader on your platform and the actual encoding of the XML > document Yes, after setting the encoding to "utf-8" when constructing the InputStreamReader, reading the stream was successful! Thanks for your help! I guess this "user mistake" (mine!) is now sorted out - and I learned something... And maybe these mails help someone sometime... :-) -- regards, Florian _______________________________________________ Kxml-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/kxml-devel --luZAkruIXiZXXvNsucdBakQzJNuEwabkxMvkGgV Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> </head> <!-- Network content --> <body style="background-color: #ffffff;"> <!--~-|**|PrettyHtmlStartT|**|-~--> <div id="ygrp-mlmsg" style="width:655px; position:relative;"> <div id="ygrp-msg" style="width: 490px; padding: 0 15px 0 0; float:left; z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~--> <div id="ygrp-text"> <p>mvemulak wrote:<br> > I have a simple Jabber(XMPP) client. When I use JDK (J2SE), he parser<br> > pulls<br> > the data fine. But when I use the same in J2ME (MIDP) environment, the<br> > client hangs after receiving a few messages. It hangs at<br> > XmlPullParser:<wbr>:next().<br> > Any ideas ?<br> > <br> input stream (how you set it up) and character encoding are common<br> suspects. for example see [1]<br> <br> HTH,<br> <br> alek<br> [1]<br> <br> -------- Original Message --------<br> Subject: Re: [Kxml-devel] Howto parse large amounts of XML data<br> Date: Mon, 13 Nov 2006 23:47:22 +0100<br> From: Florian Schricker <<a href="mailto:fschricker%40web.de">fschricker@web.<wbr>de</a>><br> To: Stefan Haustein <<a href="mailto:sh%40kobjects.org">sh@kobjects.<wbr>org</a>><br> CC: <a href="mailto:kxml-devel%40lists.sourceforge.net">kxml-devel@lists.<wbr>sourceforge.<wbr>net</a><br> References: <1162990214.<wbr>12921.10.<wbr>camel@localhost><br> <<a href="mailto:45526E37.7000707%40kobjects.org">45526E37.7000707@<wbr>kobjects.<wbr>org</a>> <1163151856.<wbr>7060.9.camel@<wbr>localhost><br> <<a href="mailto:45545D2E.6000306%40kobjects.org">45545D2E.6000306@<wbr>kobjects.<wbr>org</a>> <1163166085.<wbr>24520.9.camel@<wbr>localhost><br> <<a href="mailto:4557A3C8.3060907%40kobjects.org">4557A3C8.3060907@<wbr>kobjects.<wbr>org</a>><br> <br> Hi Stefan!<br> <br> On Sun, 2006-11-12 at 23:44 +0100, Stefan Haustein wrote:<br> <br> > Could you try to use the InputStreamReader in your while loop, and try <br> > to read chunks of 128 characters?<br> <br> Given a successful HttpConnection c, I ran:<br> <br> InputStreamReader isr = new<br> InputStreamReader(<wbr>c.openInputStrea<wbr>m());<br> int ch;<br> char[] chunk = new char[128];<br> while ((ch = isr.read(chunk, 0, 128)) != -1) {<br> System.out.print(<wbr>chunk);<br> }<br> <br> This bails out with:<br> <br> java.lang.ArrayInde<wbr>xOutOfBoundsExce<wbr>ption: <br> at com.sun.kvem.<wbr>cldc.i18n.<wbr>j2me.GenericRead<wbr>er.read(+<wbr>139)<br> at java.io.InputStream<wbr>Reader.read(<wbr>+56)<br> at MainMIDlet.startApp<wbr>(+152)<br> at javax.microedition.<wbr>midlet.MIDletPro<wbr>xy.startApp(<wbr>+7)<br> at com.sun.midp.<wbr>midlet.Scheduler<wbr>.schedule(<wbr>+270)<br> at com.sun.midp.<wbr>main.Main.<wbr>runLocalClass(<wbr>+28)<br> at com.sun.midp.<wbr>main.Main.<wbr>main(+116)<br> <br> > The error probably stems from a mismatch of the default encoding of the <br> > InputStreamReader on your platform and the actual encoding of the XML <br> > document<br> <br> Yes, after setting the encoding to "utf-8" when constructing the<br> InputStreamReader, reading the stream was successful!<br> <br> Thanks for your help! I guess this "user mistake" (mine!) is now sorted<br> out - and I learned something... And maybe these mails help someone<br> sometime... :-)<br> <br> -- <br> regards,<br> Florian<br> <br> ____________<wbr>_________<wbr>_________<wbr>_________<wbr>________<br> Kxml-devel mailing list<br> <a href="mailto:Kxml-devel%40lists.sourceforge.net">Kxml-devel@lists.<wbr>sourceforge.<wbr>net</a><br> <a href="https://lists.sourceforge.net/lists/listinfo/kxml-devel">https://lists.<wbr>sourceforge.<wbr>net/lists/<wbr>listinfo/<wbr>kxml-devel</a><br> <br> </p> </div> <!--~-|**|PrettyHtmlStart|**|-~--> <span width="1" style="color: white;">__._,_.___</span> <!-- Start the section with Message In topic --> <div id="ygrp-actbar"> <span class="left"> <a href="http://groups.yahoo.com/group/xmlpull-dev/message/865;_ylc=X3oDMTMybGI0anZkBF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBG1zZ0lkAzg2NgRzZWMDZnRyBHNsawN2dHBjBHN0aW1lAzExNjM5ODQ2NjAEdHBjSWQDODY1"> Messages in this topic </a> (<span class="bld">2</span>) </span> <a href="http://groups.yahoo.com/group/xmlpull-dev/post;_ylc=X3oDMTJvcWNqa250BF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBG1zZ0lkAzg2NgRzZWMDZnRyBHNsawNycGx5BHN0aW1lAzExNjM5ODQ2NjA-?act=reply&messageNum=866"> <span class="bld"> Reply </span> (via web post) </a> | <a href="http://groups.yahoo.com/group/xmlpull-dev/post;_ylc=X3oDMTJlMDJlZHJjBF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTE2Mzk4NDY2MA--" class="bld"> Start a new topic </a> </div> <!------- Start Nav Bar ------> <!-- |**|begin egp html banner|**| --> <div id="ygrp-vitnav"> <a href="http://groups.yahoo.com/group/xmlpull-dev/messages;_ylc=X3oDMTJlMWppNmRjBF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTE2Mzk4NDY2MA--">Messages</a> </div> <!-- |**|end egp html banner|**| --> <!-- Do not have place to put it yet --> <div id="ygrp-grft"> </div> <!-- yahoo logo --> <!-- |**|begin egp html banner|**| --> <div id="ygrp-ft"> <a href="http://groups.yahoo.com/;_ylc=X3oDMTJkanRmOXQwBF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMTYzOTg0NjYw"> <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br> <a href="http://groups.yahoo.com/group/xmlpull-dev/join;_ylc=X3oDMTJmdW0yZjk2BF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzExNjM5ODQ2NjA-">Change settings via the Web</a> (Yahoo! ID required) <br> Change settings via email: <a href="mailto:[email protected]?subject=Email Delivery: Digest">Switch delivery to Daily Digest</a> | <a href = "mailto:[email protected]?subject=Change Delivery Format: Traditional">Switch format to Traditional</a> <br> <a href="http://groups.yahoo.com/group/xmlpull-dev;_ylc=X3oDMTJkZmQ5bG0zBF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMTYzOTg0NjYw"> Visit Your Group </a> | <a href="http://docs.yahoo.com/info/terms/"> Yahoo! Groups Terms of Use </a> | <a href="mailto:[email protected]?subject="> Unsubscribe </a> </div> <!-- |**|end egp html banner|**| --> </div> <!-- ygrp-msg --> <!-- Sponsor --> <!-- |**|begin egp html banner|**| --> <div id="ygrp-sponsor" style="width:140px;float: left; clear: none; margin-left: 5px; background:white; margin-bottom:25px ;position:absolute; top:0; right: 0;"> <!-- Network content --> <!-- Start vitality --> <div id="ygrp-vital"> <div id="vithd">Recent Activity</div> <ul style="list-style-type:none; padding: 0; margin: 2px 0;"> <li style="clear: both;"> <div class="ct" style="float: right;"><span style="display:none"> </span>1</div> <div class="cat"><a href="http://groups.yahoo.com/group/xmlpull-dev/members;_ylc=X3oDMTJmODQxN3VzBF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzExNjM5ODQ2NjA-">New Members</a></div> </li> </ul> <a href="http://groups.yahoo.com/group/xmlpull-dev;_ylc=X3oDMTJlM3RpZ2NiBF9TAzk3MzU5NzE0BGdycElkAzY0NTYyNTUEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTE2Mzk4NDY2MA--"> Visit Your Group </a> </div> <div id="hd">SPONSORED LINKS</div> <div id="ov"> <ul> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjbTlzZ2FsBF9TAzk3MzU5NzE0BF9wAzEEZ3JwSWQDNjQ1NjI1NQRncnBzcElkAzE3MDYwMzAzOTAEc2VjA3NsbW9kBHN0aW1lAzExNjM5ODQ2NjA-?t=ms&k=Xml+sql+server&w1=Xml+sql+server&w2=Xml+content+management&w3=Xml+document&w4=Rss+xml&w5=Xml+training&c=5&s=97&g=2&.sig=D5pjkrPnFZ4IBdgwTFPeNw">Xml sql server</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjOWF1YW8wBF9TAzk3MzU5NzE0BF9wAzIEZ3JwSWQDNjQ1NjI1NQRncnBzcElkAzE3MDYwMzAzOTAEc2VjA3NsbW9kBHN0aW1lAzExNjM5ODQ2NjA-?t=ms&k=Xml+content+management&w1=Xml+sql+server&w2=Xml+content+management&w3=Xml+document&w4=Rss+xml&w5=Xml+training&c=5&s=97&g=2&.sig=-MKTBHng5j2E0enZ0lu6MA">Xml content management</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjNWFhNGowBF9TAzk3MzU5NzE0BF9wAzMEZ3JwSWQDNjQ1NjI1NQRncnBzcElkAzE3MDYwMzAzOTAEc2VjA3NsbW9kBHN0aW1lAzExNjM5ODQ2NjA-?t=ms&k=Xml+document&w1=Xml+sql+server&w2=Xml+content+management&w3=Xml+document&w4=Rss+xml&w5=Xml+training&c=5&s=97&g=2&.sig=4a401E3_nwYau1YewoooSg">Xml document</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjM3R1dDI2BF9TAzk3MzU5NzE0BF9wAzQEZ3JwSWQDNjQ1NjI1NQRncnBzcElkAzE3MDYwMzAzOTAEc2VjA3NsbW9kBHN0aW1lAzExNjM5ODQ2NjA-?t=ms&k=Rss+xml&w1=Xml+sql+server&w2=Xml+content+management&w3=Xml+document&w4=Rss+xml&w5=Xml+training&c=5&s=97&g=2&.sig=Nz2s-9B48CdGLIFKmmKhHw">Rss xml</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjMHJhbHRuBF9TAzk3MzU5NzE0BF9wAzUEZ3JwSWQDNjQ1NjI1NQRncnBzcElkAzE3MDYwMzAzOTAEc2VjA3NsbW9kBHN0aW1lAzExNjM5ODQ2NjA-?t=ms&k=Xml+training&w1=Xml+sql+server&w2=Xml+content+management&w3=Xml+document&w4=Rss+xml&w5=Xml+training&c=5&s=97&g=2&.sig=83TLc5fP2HqZY9QrkpSu3w">Xml training</a></li> </ul> </div> <!-- Network content --> <div id="nc"> <div class="ad"> <div id="hd1">New business?</div> <p><a href="http://us.ard.yahoo.com/SIG=12hso6n7f/M=493064.8985663.9760769.8674578/D=groups/S=1706030390:NC/Y=YAHOO/EXP=1163991860/A=3848640/R=0/SIG=131an6mds/*http://searchmarketing.yahoo.com/arp/srchv2.php?o=US2002&cmp=Yahoo&ctv=Groups1&s=Y&s2=&s3=&b=50">Get new customers.</a></p> <p>List your web site</p> <p>in Yahoo! Search.</p> </div> <div class="ad"> <div id="hd1">Y! Toolbar</div> <p><a href="http://us.lrd.yahoo.com/_ylc=X3oDMTJvcGp1NHNxBF9TAzk3MzU5NzE0BF9wAzIEZ3JwSWQDNjQ1NjI1NQRncnBzcElkAzE3MDYwMzAzOTAEc2VjA25jbW9kBHNsawN0b29sYmFyBHN0aW1lAzExNjM5ODQ2NjA-;_ylg=1/SIG=11c6dvmk9/**http%3a//toolbar.yahoo.com/%3f.cpdl=ygrps">Get it Free!</a></p> <p>easy 1-click access</p> <p>to your groups.</p> </div> <div class="ad"> <div id="hd1">Yahoo! Groups</div> <p><a href="http://groups.yahoo.com/start;_ylc=X3oDMTJvMGZvYzJmBF9TAzk3MzU5NzE0BF9wAzMEZ3JwSWQDNjQ1NjI1NQRncnBzcElkAzE3MDYwMzAzOTAEc2VjA25jbW9kBHNsawNncm91cHMyBHN0aW1lAzExNjM5ODQ2NjA-">Start a group</a></p> <p>in 3 easy steps.</p> <p>Connect with others.</p> </div> </div> </div> <!-- |**|end egp html banner|**| --> <div style="clear:both; color: #FFF; font-size:1px;">.</div> </div> <img src="http://geo.yahoo.com/serv?s=97359714/grpId=6456255/grpspId=1706030390/msgId=866/stime=1163984660/nc1=3848640/nc2=2/nc3=3" width="1" height="1"> <br> <span style="color: white;">__,_._,___</span> <!--~-|**|PrettyHtmlEnd|**|-~--> </body> <!--~-|**|PrettyHtmlStart|**|-~--> <head> <style type="text/css"> <!-- #ygrp-mlmsg {font-size:13px; font-family: arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;} #ygrp-mlmsg pre, code {font:115% monospace;*font-size:100%;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family: Georgia; } #ygrp-text p{ margin: 0 0 1em 0; } #ygrp-tpmsgs{ font-family: Arial; clear: both; } #ygrp-vitnav{ padding-top: 10px; font-family: Verdana; font-size: 77%; margin: 0; } #ygrp-vitnav a{ padding: 0 1px; } #ygrp-actbar{ clear: both; margin: 25px 0; white-space:nowrap; color: #666; text-align: right; } #ygrp-actbar .left{ float: left; white-space:nowrap; } .bld{font-weight:bold;} #ygrp-grft{ font-family: Verdana; font-size: 77%; padding: 15px 0; } #ygrp-ft{ font-family: verdana; font-size: 77%; border-top: 1px solid #666; padding: 5px 0; } #ygrp-mlmsg #logo{ padding-bottom: 10px; } #ygrp-vital{ background-color: #e0ecee; margin-bottom: 20px; padding: 2px 0 8px 8px; } #ygrp-vital #vithd{ font-size: 77%; font-family: Verdana; font-weight: bold; color: #333; text-transform: uppercase; } #ygrp-vital ul{ padding: 0; margin: 2px 0; } #ygrp-vital ul li{ list-style-type: none; clear: both; border: 1px solid #e0ecee; } #ygrp-vital ul li .ct{ font-weight: bold; color: #ff7900; float: right; width: 2em; text-align:right; padding-right: .5em; } #ygrp-vital ul li .cat{ font-weight: bold; } #ygrp-vital a { text-decoration: none; } #ygrp-vital a:hover{ text-decoration: underline; } #ygrp-sponsor #hd{ color: #999; font-size: 77%; } #ygrp-sponsor #ov{ padding: 6px 13px; background-color: #e0ecee; margin-bottom: 20px; } #ygrp-sponsor #ov ul{ padding: 0 0 0 8px; margin: 0; } #ygrp-sponsor #ov li{ list-style-type: square; padding: 6px 0; font-size: 77%; } #ygrp-sponsor #ov li a{ text-decoration: none; font-size: 130%; } #ygrp-sponsor #nc { background-color: #eee; margin-bottom: 20px; padding: 0 8px; } #ygrp-sponsor .ad{ padding: 8px 0; } #ygrp-sponsor .ad #hd1{ font-family: Arial; font-weight: bold; color: #628c2a; font-size: 100%; line-height: 122%; } #ygrp-sponsor .ad a{ text-decoration: none; } #ygrp-sponsor .ad a:hover{ text-decoration: underline; } #ygrp-sponsor .ad p{ margin: 0; } o {font-size: 0; } .MsoNormal { margin: 0 0 0 0; } #ygrp-text tt{ font-size: 120%; } blockquote{margin: 0 0 0 4px;} .replbq {margin:4} --> </style> </head> <!--~-|**|PrettyHtmlEnd|**|-~--> </html><!--End group email --> --luZAkruIXiZXXvNsucdBakQzJNuEwabkxMvkGgV--