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/>