You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Jorge Fernandez <in...@yahoo.es> on 2007/04/17 00:23:20 UTC
issue when sending big arrays
Hi all,
I'm having problems when I have to return big arrays. I have an operation in the web service I'm building for my Career Final Project which returns the xml code for a class that contains two arrays and an int. One of the arrays is an short array and usually is very big. The other one has no components in the tests I did at the moment. I get the following exception in my client:
Exception in thread "main" java.lang.RuntimeException: Data binding error
at client.Medici_LinkStub.fromOM(Medici_LinkStub.java:5792)
at client.Medici_LinkStub.getPrimitiveData(Medici_LinkStub.java:2678)
at client.ClientUtilities.getPrimitiveDataTest(ClientUtilities.java:336)
at client.Client.main(Client.java:64)
Caused by: org.apache.xmlbeans.XmlException: Unexpected end of input block in end tag
at [row,col {unknown-source}]: [1,4095]
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:847)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)
at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231)
at medici_link.op_messages.xsd.GetPrimitiveDataResponseDocument$Factory.parse(GetPrimitiveDataResponseDocument.java:163)
at client.Medici_LinkStub.fromOM(Medici_LinkStub.java:5313)
... 3 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected end of input block in end tag
at [row,col {unknown-source}]: [1,4095]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOB(StreamScanner.java:675)
at com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1029)
at com.ctc.wstx.sr.StreamScanner.getNextCharFromCurrent(StreamScanner.java:786)
at com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3204)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2830)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
at org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:917)
at org.apache.xmlbeans.impl.store.Locale.loadXMLStreamReader(Locale.java:1098)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:843)
... 7 more
I tried to find out what was the problem in my web service so I used the debugger and compared executions with diferent sizes for the array and everything seems to be alright (the return message appears to be built correctly) until I reach axisServlet.
In my log file I see:
in axisServlet catch exception: 2007-04-16 22:36:05 ERROR org.apache.axis2.transport.http.AxisServlet - java.lang.IllegalStateException: Can't overwrite cause
I think that the method that throws the exception is req.getInputStream() that is a parameter of HTTPTransportUtils.processHTTPPostRequest.
I started having problems when the array is about 220 components. I would like to know if there is any limitation on array's sizes.
Thanks and regards,
Jorge Fernández
---------------------------------
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
RE: issue when sending big arrays
Posted by Jorge Fernandez <in...@yahoo.es>.
Hi Valerie,
Thanks for your help but my problem is in the service because the response message seems to be built correctly but at certain moment, there is an exception and this message is not sent to the client. I use TCPMon and what the service sends to the client is only the HTTP Header:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri,20 Apr 2007 14:50:37 GMT
102d
Maybe If I resolve this problem I'll need that sentence in my client. So thank you again.
Regards,
Jorge Fernández
"Masin, Valerie" <VJ...@docharbor.com> escribió: I have no idea if this helps but we had trouble with large docs using Sun Webserver and the solution was to set this on the client:
stub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, Constants.VALUE_FALSE);
---------------------------------
From: Jorge Fernandez [mailto:informaticu007-pfc@yahoo.es]
Sent: Monday, April 16, 2007 6:23 PM
To: axis-user
Subject: issue when sending big arrays
Hi all,
I'm having problems when I have to return big arrays. I have an operation in the web service I'm building for my Career Final Project which returns the xml code for a class that contains two arrays and an int. One of the arrays is an short array and usually is very big. The other one has no components in the tests I did at the moment. I get the following exception in my client:
Exception in thread "main" java.lang.RuntimeException: Data binding error
at client.Medici_LinkStub.fromOM(Medici_LinkStub.java:5792)
at client.Medici_LinkStub.getPrimitiveData(Medici_LinkStub.java:2678)
at client.ClientUtilities.getPrimitiveDataTest(ClientUtilities.java:336)
at client.Client.main(Client.java:64)
Caused by: org.apache.xmlbeans.XmlException: Unexpected end of input block in end tag
at [row,col {unknown-source}]: [1,4095]
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:847)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)
at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231)
at medici_link.op_messages.xsd.GetPrimitiveDataResponseDocument$Factory.parse(GetPrimitiveDataResponseDocument.java:163)
at client.Medici_LinkStub.fromOM(Medici_LinkStub.java:5313)
... 3 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected end of input block in end tag
at [row,col {unknown-source}]: [1,4095]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOB(StreamScanner.java:675)
at com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1029)
at com.ctc.wstx.sr.StreamScanner.getNextCharFromCurrent(StreamScanner.java:786)
at com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3204)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2830)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
at org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:917)
at org.apache.xmlbeans.impl.store.Locale.loadXMLStreamReader(Locale.java:1098)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:843)
... 7 more
I tried to find out what was the problem in my web service so I used the debugger and compared executions with diferent sizes for the array and everything seems to be alright (the return message appears to be built correctly) until I reach axisServlet.
In my log file I see:
in axisServlet catch exception: 2007-04-16 22:36:05 ERROR org.apache.axis2.transport.http.AxisServlet - java.lang.IllegalStateException: Can't overwrite cause
I think that the method that throws the exception is req.getInputStream() that is a parameter of HTTPTransportUtils.processHTTPPostRequest.
I started having problems when the array is about 220 components. I would like to know if there is any limitation on array's sizes.
Thanks and regards,
Jorge Fernández
---------------------------------
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
---------------------------------
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
RE: issue when sending big arrays
Posted by "Masin, Valerie" <VJ...@docharbor.com>.
I have no idea if this helps but we had trouble with large docs using Sun Webserver and the solution was to set this on the client:
stub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, Constants.VALUE_FALSE);
________________________________
From: Jorge Fernandez [mailto:informaticu007-pfc@yahoo.es]
Sent: Monday, April 16, 2007 6:23 PM
To: axis-user
Subject: issue when sending big arrays
Hi all,
I'm having problems when I have to return big arrays. I have an operation in the web service I'm building for my Career Final Project which returns the xml code for a class that contains two arrays and an int. One of the arrays is an short array and usually is very big. The other one has no components in the tests I did at the moment. I get the following exception in my client:
Exception in thread "main" java.lang.RuntimeException: Data binding error
at client.Medici_LinkStub.fromOM(Medici_LinkStub.java:5792)
at client.Medici_LinkStub.getPrimitiveData(Medici_LinkStub.java:2678)
at client.ClientUtilities.getPrimitiveDataTest(ClientUtilities.java:336)
at client.Client.main(Client.java:64)
Caused by: org.apache.xmlbeans.XmlException: Unexpected end of input block in end tag
at [row,col {unknown-source}]: [1,4095]
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:847)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)
at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231)
at medici_link.op_messages.xsd.GetPrimitiveDataResponseDocument$Factory.parse(GetPrimitiveDataResponseDocument.java:163)
at client.Medici_LinkStub.fromOM(Medici_LinkStub.java:5313)
... 3 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected end of input block in end tag
at [row,col {unknown-source}]: [1,4095]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOB(StreamScanner.java:675)
at com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1029)
at com.ctc.wstx.sr.StreamScanner.getNextCharFromCurrent(StreamScanner.java:786)
at com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3204)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2830)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
at org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:917)
at org.apache.xmlbeans.impl.store.Locale.loadXMLStreamReader(Locale.java:1098)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:843)
... 7 more
I tried to find out what was the problem in my web service so I used the debugger and compared executions with diferent sizes for the array and everything seems to be alright (the return message appears to be built correctly) until I reach axisServlet.
In my log file I see:
in axisServlet catch exception: 2007-04-16 22:36:05 ERROR org.apache.axis2.transport.http.AxisServlet - java.lang.IllegalStateException: Can't overwrite cause
I think that the method that throws the exception is req.getInputStream() that is a parameter of HTTPTransportUtils.processHTTPPostRequest.
I started having problems when the array is about 220 components. I would like to know if there is any limitation on array's sizes.
Thanks and regards,
Jorge Fernández
________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com <http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice.yahoo.com/>