Hi, Good to know that it worked.. TCPMON chokes when large binary payloads are present in the message.. Also it chokes if there are lot of messages present in the View...
thanks, Thilina On 10/30/07, Rainer Menzner <[EMAIL PROTECTED]> wrote: > Hi, > > Thilina Gunarathne wrote: > > Hi, > > For me it looks like your client is closing the socket before getting > > the full response.. > > > > > you are probably right. I had the TCPMon intercept the messages between > my client and the Axis2 service. After connecting directly, your > suggestion below worked smoothly, sorry for that confusion. I don't know > why it did not work with TCPMon in between, but it is definitely not an > Axis2 problem. > > I really appreciate your help, thanks, > -Rainer > > > 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] > >> > >> > >> > > > > > > > > > --------------------------------------------------------------------- > 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]
