Hi, For me it looks like your client is closing the socket before getting the full response..
Was it working without MTOM, using base64 encoding.. thanks, Thilina On 10/30/07, Rainer Menzner <[EMAIL PROTECTED]> wrote: > Hi Thilina, > > thanks for your response. See my further comments inline below ... > > Thilina Gunarathne wrote: > > Hi, > > > >>> msgContextL.getConfigurationContext().setProperty(Constants.Configuration.ENABLE_MTOM, > >>> Constants.VALUE_TRUE); > >>> > >> This creates a correct MTOM message, however, finally the service > >> encounters an exception (something about Mime and writing) and is no > >> longer usable from then on. > >> > > What is the exception you are getting... > > > These are the messages I had received: > > INFO: Server startup in 13625 ms > [ERROR] Servlet.service() for servlet AxisServlet threw exception > org.apache.axiom.om.OMException: Error while writing to the OutputStream. > at > org.apache.axiom.om.impl.MIMEOutputUtils.complete(MIMEOutputUtils.java:102) > at > org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:154) > at > org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:458) > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:68) > at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:294) > at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:211) > at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:478) > at > org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:403) > at > org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:366) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:154) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834) > at > org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640) > at > org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286) > at java.lang.Thread.run(Thread.java:595) > Caused by: ClientAbortException: java.io.IOException > at > org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:366) > at > org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432) > at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347) > at > org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392) > at > org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381) > at > org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89) > at > org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:83) > at > org.apache.axiom.om.impl.MIMEOutputUtils.writeMimeBoundary(MIMEOutputUtils.java:156) > at > org.apache.axiom.om.impl.MIMEOutputUtils.startWritingMime(MIMEOutputUtils.java:164) > at > org.apache.axiom.om.impl.MIMEOutputUtils.complete(MIMEOutputUtils.java:73) > ... 23 more > Caused by: java.io.IOException > at > org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:700) > at > org.apache.coyote.http11.InternalAprOutputBuffer$SocketOutputBuffer.doWrite(InternalAprOutputBuffer.java:730) > at > org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:124) > at > org.apache.coyote.http11.InternalAprOutputBuffer.doWrite(InternalAprOutputBuffer.java:536) > at org.apache.coyote.Response.doWrite(Response.java:560) > at > org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361) > ... 32 more > > I have updated the axiom jars to a recent snapshot because of the order > of attachments issue (see AXIS2-3196 in which you were involved), > otherwise it is Axis2-1.3. > > > Try the following... > > MessageContext inMessageContext = > > MessageContext.getCurrentMessageContext(); > > OperationContext operationContext = > > inMessageContext.getOperationContext(); > > MessageContext outMessageContext = operationContext > > > > .getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE); > > outMessageContext.setProperty(Constants.Configuration.ENABLE_MTOM, > > Constants.VALUE_TRUE); > > > I did as you suggested but I still keep getting an exception (see > stacktrace below). But in this case, the service can be used further. It > is my impression that the data is started to be encoded correctly, but > the binary blob is simply incomplete. I'm using a C# client based on > WSE3, if that matters. > > INFO: Server startup in 13157 ms > [ERROR] > org.apache.axis2.AxisFault > at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417) > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:72) > at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:294) > at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:211) > at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:478) > at > org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:403) > at > org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:366) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:154) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834) > at > org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640) > at > org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286) > at java.lang.Thread.run(Thread.java:595) > Caused by: com.ctc.wstx.exc.WstxIOException: null > at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313) > at > org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:139) > at > org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:458) > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:68) > ... 20 more > Caused by: ClientAbortException: java.io.IOException > at > org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:366) > at > org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432) > at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347) > at > org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392) > at > org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381) > at > org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89) > at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96) > at > com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214) > at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311) > ... 23 more > Caused by: java.io.IOException > at > org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:700) > at > org.apache.coyote.http11.InternalAprOutputBuffer$SocketOutputBuffer.doWrite(InternalAprOutputBuffer.java:730) > at > org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:124) > at > org.apache.coyote.http11.InternalAprOutputBuffer.doWrite(InternalAprOutputBuffer.java:536) > at org.apache.coyote.Response.doWrite(Response.java:560) > at > org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361) > ... 31 more > > > Thanks, > -Rainer > > > thanks, > > Thilina > > > >> I also tried: > >> > >> > >>> MessageContext msgContextL = > >>> MessageContext.getCurrentMessageContext(); > >>> > >>> msgContextL.getOptions().setProperty(Constants.Configuration.ENABLE_MTOM, > >>> Constants.VALUE_TRUE); > >>> > >> This does not work at all, I still get Base64 encoded text messages. > >> > >> I would much appreciate if someone could tell me the correct way of > >> enforcing MTOM encoding programatically > >> > >> Thanks, > >> -Rainer > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > > > > > > > > > -- > > ______________________________________________ > > *Dr. Rainer Menzner* > Principal Engineer, R&D > > *L-1 Identity Solutions AG* > /Protecting and Securing Personal Identities and Assets/ > > Universitätsstr. 160 > 44801 Bochum, Germany > Telephone: +49-234-9787-41 > Facsimile: +49-234-9787-77 > Mobile: 0160 / 700 99 07 > email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > > www.L1ID.com <http://www.l1id.com/> > > This message is only for the use of the intended recipient and may > contain information that is CONFIDENTIAL and PROPRIETARY to L-1 Identity > Solutions. If you are not the intended recipient, please erase all > copies of the message and its attachments and notify the sender immediately. > > VORSTAND / EXECUTIVE BOARD Hartmuth von Maltzahn (Vors. / Chairman), Dr. > Stefan Gehlen | AUFSICHTSRAT / SUPERVISORY BOARD James H. Moar (Vors. / > Chairman) | GERICHTSSTAND / REGISTER COURT Amtsgericht Bochum, HRB 69 54 > | UST-ID / VAT-REG.-NO. DE 813124378 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Thilina Gunarathne - http://thilinag.blogspot.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
