axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jochen Zink <jochenl...@web.de>
Subject Re: [Axis2] ArrayIndexOutOfBounds with MTOM and session based Service
Date Mon, 12 Mar 2007 12:46:42 GMT
Databinding is ADB. 

But you were right. With file caching it works fine. But I have to set the threshold to less
than 400 ... however... it works!

Thanks a lot for your fast help!



> -----Ursprüngliche Nachricht-----
> Von: axis-user@ws.apache.org
> Gesendet: 12.03.07 13:06:27
> An: axis-user@ws.apache.org
> Betreff: Re: [Axis2] ArrayIndexOutOfBounds with MTOM and session based Service


> Ooops... If it is just 27 KB, then I would recommend you to log a bug
> in the jira with the necessary info to recreate the problem..
> 
> Which databinding mechanism are you using...
> 
> Thanks,
> Thilina
> 
> On 3/12/07, Jochen Zink <jochenlist@web.de> wrote:
> > Thanks for your answer. I will try filecaching.
> >
> > The Filesize is 27KB
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: axis-user@ws.apache.org
> > > Gesendet: 12.03.07 12:39:51
> > > An: axis-user@ws.apache.org
> > > Betreff: Re: [Axis2] ArrayIndexOutOfBounds with MTOM and session based Service
> >
> >
> > > What is the size of the attachment you are trying to transfer... If it
> > > is large please enable file caching at the server side [1]..
> > > Make sure to use the latest Axiom jars when using the File Caching, as
> > > they contain major performance improvements  and bug fixes over the
> > > Axiom 1.2 version..
> > >
> > > ~Thilina
> > > [1] http://wso2.org/library/264
> > >
> > > On 3/12/07, Jochen Zink <jochenlist@web.de> wrote:
> > > > Hallo,
> > > >
> > > > I have a session based WebService with scope="soapsession". I tried to
send binary data with mtom from a client to the service.
> > > >
> > > > The client calls three methods:
> > > >
> > > > openTransferSession();
> > > > transferDocument();
> > > > closeTransferSession();
> > > >
> > > > On transferDocument, a binary attachment is sendet with MTOM.
> > > >
> > > > If I enable MTOM an client side, a ArrayIndexOutOfBounds Exception is
thrown on the Servers MessageReceiver (StackTrace on the end of message). If I disable MTOM,
everythink is okay. No exception is thrown.
> > > >
> > > > I believe, that I do something wrong on the services wsdl, but I'm not
sure.
> > > >
> > > > From the wsdl, I generate my Service Sekeleton and the MessageReceiver
and some Types.
> > > >
> > > >
> > > > Does anyone knows, what is wrong?
> > > >
> > > > Thanks for all!
> > > >
> > > >
> > > >
> > > > Here are the wsdl:
> > > > <wsdl:definitions
> > > >         xmlns:axis2="http://comchannel.comserver.edocbox.nepatec.de"
> > > >         xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
> > > >         xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
> > > >         xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
> > > >         xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
> > > >         xmlns:ns="http://comchannel.comserver.edocbox.nepatec.de/xsd"
> > > >         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> > > >         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> > > >         targetNamespace="http://comchannel.comserver.edocbox.nepatec.de">
> > > >         <wsdl:types>
> > > >                 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > > >                         attributeFormDefault="qualified" elementFormDefault="qualified"
> > > >                         targetNamespace="http://comchannel.comserver.edocbox.nepatec.de/xsd">
> > > >
> > > >                         <xs:import namespace="http://www.w3.org/2005/05/xmlmime"
> > > >                                 schemaLocation="xmime.xsd" />
> > > >
> > > >
> > > >
> > > >                         <xs:element name="transferDocument">
> > > >                                 <xs:complexType>
> > > >                                         <xs:sequence>
> > > >                                                 <xs:element minOccurs="0"
name="fileName"
> > > >                                                         type="xs:string"
/>
> > > >                                                 <xs:element minOccurs="0"
name="binaryData"
> > > >                                                         type="xmime:base64Binary"
/>
> > > >                                                 <xs:element minOccurs="0"
name="fileType"
> > > >                                                         type="xs:int"
/>
> > > >                                         </xs:sequence>
> > > >                                 </xs:complexType>
> > > >                         </xs:element>
> > > >
> > > >
> > > >
> > > >                         <xs:element name="transferDocumentResponse">
> > > >                                 <xs:complexType>
> > > >                                         <xs:sequence>
> > > >                                                 <xs:element name="return"
nillable="true"
> > > >                                                         type="xs:boolean"
/>
> > > >                                         </xs:sequence>
> > > >                                 </xs:complexType>
> > > >                         </xs:element>
> > > >                         <xs:element name="openTransferSession">
> > > >                                 <xs:complexType>
> > > >                                         <xs:sequence>
> > > >                                                 <xs:element name="param0"
nillable="true"
> > > >                                                         type="xs:string"
/>
> > > >                                         </xs:sequence>
> > > >                                 </xs:complexType>
> > > >                         </xs:element>
> > > >                         <xs:element name="openTransferSessionResponse">
> > > >                                 <xs:complexType>
> > > >                                         <xs:sequence>
> > > >                                                 <xs:element name="return"
nillable="true"
> > > >                                                         type="xs:long"
/>
> > > >                                         </xs:sequence>
> > > >                                 </xs:complexType>
> > > >                         </xs:element>
> > > >                 </xs:schema>
> > > >         </wsdl:types>
> > > >         <wsdl:message name="transferDocumentMessage">
> > > >                 <wsdl:part name="part1" element="ns:transferDocument"
/>
> > > >         </wsdl:message>
> > > >         <wsdl:message name="transferDocumentResponseMessage">
> > > >                 <wsdl:part name="part1" element="ns:transferDocumentResponse"
/>
> > > >         </wsdl:message>
> > > >         <wsdl:message name="openTransferSessionMessage">
> > > >                 <wsdl:part name="part1" element="ns:openTransferSession"
/>
> > > >         </wsdl:message>
> > > >         <wsdl:message name="openTransferSessionResponseMessage">
> > > >                 <wsdl:part name="part1"
> > > >                         element="ns:openTransferSessionResponse" />
> > > >         </wsdl:message>
> > > >         <wsdl:message name="closeTransferSessionMessage" />
> > > >         <wsdl:portType name="DocumentServicePortType">
> > > >                 <wsdl:operation name="transferDocument">
> > > >                         <wsdl:input message="axis2:transferDocumentMessage"
/>
> > > >                         <wsdl:output
> > > >                                 message="axis2:transferDocumentResponseMessage"
/>
> > > >                 </wsdl:operation>
> > > >                 <wsdl:operation name="openTransferSession">
> > > >                         <wsdl:input message="axis2:openTransferSessionMessage"
/>
> > > >                         <wsdl:output
> > > >                                 message="axis2:openTransferSessionResponseMessage"
/>
> > > >                 </wsdl:operation>
> > > >                 <wsdl:operation name="closeTransferSession">
> > > >                         <wsdl:input message="axis2:closeTransferSessionMessage"
/>
> > > >                 </wsdl:operation>
> > > >         </wsdl:portType>
> > > >         <wsdl:binding name="DocumentServiceSOAP11Binding"
> > > >                 type="axis2:DocumentServicePortType">
> > > >                 <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
> > > >                         style="document" />
> > > >                 <wsdl:operation name="transferDocument">
> > > >                         <soap:operation soapAction="urn:transferDocument"
> > > >                                 style="document" />
> > > >                         <wsdl:input>
> > > >                                 <soap:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:input>
> > > >                         <wsdl:output>
> > > >                                 <soap:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:output>
> > > >                 </wsdl:operation>
> > > >                 <wsdl:operation name="openTransferSession">
> > > >                         <soap:operation soapAction="urn:openTransferSession"
> > > >                                 style="document" />
> > > >                         <wsdl:input>
> > > >                                 <soap:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:input>
> > > >                         <wsdl:output>
> > > >                                 <soap:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:output>
> > > >                 </wsdl:operation>
> > > >                 <wsdl:operation name="closeTransferSession">
> > > >                         <soap:operation soapAction="urn:closeTransferSession"
> > > >                                 style="document" />
> > > >                         <wsdl:input>
> > > >                                 <soap:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:input>
> > > >                 </wsdl:operation>
> > > >         </wsdl:binding>
> > > >         <wsdl:binding name="DocumentServiceSOAP12Binding"
> > > >                 type="axis2:DocumentServicePortType">
> > > >                 <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
> > > >                         style="document" />
> > > >                 <wsdl:operation name="transferDocument">
> > > >                         <soap12:operation soapAction="urn:transferDocument"
> > > >                                 style="document" />
> > > >                         <wsdl:input>
> > > >                                 <soap12:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:input>
> > > >                         <wsdl:output>
> > > >                                 <soap12:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:output>
> > > >                 </wsdl:operation>
> > > >                 <wsdl:operation name="openTransferSession">
> > > >                         <soap12:operation soapAction="urn:openTransferSession"
> > > >                                 style="document" />
> > > >                         <wsdl:input>
> > > >                                 <soap12:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:input>
> > > >                         <wsdl:output>
> > > >                                 <soap12:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:output>
> > > >                 </wsdl:operation>
> > > >                 <wsdl:operation name="closeTransferSession">
> > > >                         <soap12:operation soapAction="urn:closeTransferSession"
> > > >                                 style="document" />
> > > >                         <wsdl:input>
> > > >                                 <soap12:body use="literal"
> > > >                                         namespace="http://comchannel.comserver.edocbox.nepatec.de"
/>
> > > >                         </wsdl:input>
> > > >                 </wsdl:operation>
> > > >         </wsdl:binding>
> > > >         <wsdl:service name="DocumentService">
> > > >                 <wsdl:port name="DocumentServiceSOAP11port"
> > > >                         binding="axis2:DocumentServiceSOAP11Binding">
> > > >                         <soap:address
> > > >                                 location="http://localhost:8080/axis2/services/DocumentService"
/>
> > > >                 </wsdl:port>
> > > >                 <wsdl:port name="DocumentServiceSOAP12port"
> > > >                         binding="axis2:DocumentServiceSOAP12Binding">
> > > >                         <soap12:address
> > > >                                 location="http://localhost:8080/axis2/services/DocumentService"
/>
> > > >                 </wsdl:port>
> > > >         </wsdl:service>
> > > > </wsdl:definitions>
> > > >
> > > >
> > > >
> > > >
> > > > And the Stacktrace, thrown on calling the transferDocument() Method:
> > > >
> > > >
> > > > org.apache.axis2.AxisFault: java.lang.ArrayIndexOutOfBoundsException
> > > >         at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:271)
> > > >         at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202)
> > > >         at de.nepatec.edocbox.comserver.client.DocumentServiceStub.transferDocument(DocumentServiceStub.java:166)
> > > >         at de.nepatec.edocbox.comserver.client.Client.doRun(Client.java:60)
> > > >         at de.nepatec.edocbox.comserver.client.Client.main(Client.java:72)
> > > > Caused by: java.lang.Exception: org.apache.axis2.AxisFault: java.lang.ArrayIndexOutOfBoundsException;
nested exception is:
> > > >         java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException
> > > >         at org.apache.axis2.AxisFault.makeFault(AxisFault.java:321)
> > > >         at de.nepatec.edocbox.comserver.comchannel.DocumentServiceMessageReceiverInOut.invokeBusinessLogic(DocumentServiceMessageReceiverInOut.java:86)
> > > >         at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
> > > >         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:497)
> > > >         at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:328)
> > > >         at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:254)
> > > >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
> > > >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> > > >         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.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56)
> > > >         at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:342)
> > > >         at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
> > > >         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.valves.AccessLogValve.invoke(AccessLogValve.java:541)
> > > >         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:667)
> > > >         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: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException
> > > >         at de.nepatec.edocbox.comserver.comchannel.DocumentServiceMessageReceiverInOut.fromOM(DocumentServiceMessageReceiverInOut.java:187)
> > > >         at de.nepatec.edocbox.comserver.comchannel.DocumentServiceMessageReceiverInOut.invokeBusinessLogic(DocumentServiceMessageReceiverInOut.java:47)
> > > >         ... 24 more
> > > > Caused by: java.lang.ArrayIndexOutOfBoundsException
> > > >         at java.lang.System.arraycopy(Native Method)
> > > >         at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:413)
> > > >         at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:298)
> > > >         at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:192)
> > > >         at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> > > >         at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
> > > >         at java.io.FilterInputStream.read(FilterInputStream.java:66)
> > > >         at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
> > > >         at org.apache.axiom.attachments.MIMEBodyPartInputStream.read(MIMEBodyPartInputStream.java:49)
> > > >         at java.io.InputStream.read(InputStream.java:164)
> > > >         at javax.mail.internet.MimeBodyPart.<init>(MimeBodyPart.java:77)
> > > >         at org.apache.axiom.attachments.PartOnMemory.<init>(PartOnMemory.java:31)
> > > >         at org.apache.axiom.attachments.Attachments.getPart(Attachments.java:493)
> > > >         at org.apache.axiom.attachments.Attachments.getNextPartDataHandler(Attachments.java:397)
> > > >         at org.apache.axiom.attachments.Attachments.getDataHandler(Attachments.java:240)
> > > >         at org.apache.axiom.soap.impl.builder.MTOMStAXSOAPModelBuilder.getDataHandler(MTOMStAXSOAPModelBuilder.java:105)
> > > >         at org.w3.www._2005._05.xmlmime.Base64Binary$Factory.parse(Base64Binary.java:347)
> > > >         at de.nepatec.edocbox.comserver.comchannel.xsd.TransferDocument$Factory.parse(TransferDocument.java:471)
> > > >         at de.nepatec.edocbox.comserver.comchannel.DocumentServiceMessageReceiverInOut.fromOM(DocumentServiceMessageReceiverInOut.java:160)
> > > >         ... 25 more
> > > >
> > > >         at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
> > > >         ... 5 more
> > > > Exception in thread "main"
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > __________________________________________________________________________
> > > > Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-Postfach!
> > > > Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > Thilina Gunarathne  -  http://www.wso2.com - http://thilinag.blogspot.com
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > >
> > >
> >
> >
> > __________________________________________________________________________
> > Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-Postfach!
> > Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> >
> >
> 
> 
> -- 
> Thilina Gunarathne  -  http://www.wso2.com - http://thilinag.blogspot.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 


_______________________________________________________________________
Viren-Scan für Ihren PC! Jetzt für jeden. Sofort, online und kostenlos.
Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message