glassfish
  1. glassfish
  2. GLASSFISH-10624

MTOM Streaming does not work in EJB container

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 9.0pe
    • Fix Version/s: 4.0_b36
    • Component/s: web_services
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: Linux

      Description

      Moving https://jax-ws.dev.java.net/issues/show_bug.cgi?id=773
      to GlassFish issue tracker

        Issue Links

          Activity

          Hide
          ramapulavarthi added a comment -

          Assigning it to myself.

          Show
          ramapulavarthi added a comment - Assigning it to myself.
          Hide
          ramapulavarthi added a comment -

          Including the original reporter from
          https://jax-ws.dev.java.net/issues/show_bug.cgi?id=773 to this bug.

          I tried the jax-ws large_upload sample with EJB in V3 latest build and can't
          reproduce your problem. I tried with 4.00 GB file upload and I don't see out of
          memory error and the data handler I get is MIMEPartStreamingDataHandler as expected.
          Applying keyword v3-exclude.

          Need to be verified with V2.1.1 and Metro 1.5/2.0.
          Changing Target milestone to v2.1.2

          Show
          ramapulavarthi added a comment - Including the original reporter from https://jax-ws.dev.java.net/issues/show_bug.cgi?id=773 to this bug. I tried the jax-ws large_upload sample with EJB in V3 latest build and can't reproduce your problem. I tried with 4.00 GB file upload and I don't see out of memory error and the data handler I get is MIMEPartStreamingDataHandler as expected. Applying keyword v3-exclude. Need to be verified with V2.1.1 and Metro 1.5/2.0. Changing Target milestone to v2.1.2
          Hide
          ramapulavarthi added a comment -

          Verified to work on v3.0.1, and v3.1

          Verfied the bug on V2.1.1 with the following stacktrace.
          [#|2010-10-07T16:37:00.636-0700|INFO|sun-appserver2.1|javax.enterprise.system.container.ejb|_ThreadID=15;_ThreadName=httpSSLWork
          erThread-8080-0;|
          javax.ejb.EJBException
          at
          com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:3903)
          at
          com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3803)
          at
          com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3605)
          at
          com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:201)
          at $Proxy36.upload(Unknown Source)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at
          sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at
          sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at com.sun.enterprise.webservice.InvokerImpl.invoke(InvokerImpl.java:78)
          at
          com.sun.enterprise.webservice.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82)
          at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
          at
          com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
          at
          com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
          at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
          at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
          at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
          at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
          at
          com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
          at
          com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:147)
          at
          com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
          at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
          at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
          at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
          at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
          at
          com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
          at
          com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:222)
          at
          com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:133)
          at
          com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
          at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
          at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
          at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
          at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
          at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
          at
          com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
          at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
          at
          com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
          at
          com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113)
          at
          com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
          at
          com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:231)
          at
          com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:157)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
          at
          com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)
          at
          org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
          at
          org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
          at
          org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
          at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)
          at
          org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
          at
          org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
          at
          org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
          at
          org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
          at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
          at
          org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
          at
          org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
          at
          org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
          at
          org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
          at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
          at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
          at
          com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
          at
          com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
          at
          com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
          at
          com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
          at
          com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
          at
          com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
          at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
          at
          com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

          Caused by: java.lang.ClassCastException: javax.activation.DataHandler cannot be
          cast to com.sun.xml.ws.developer.StreamingDataHandler
          at mtomlarge.server.HelloImpl.validateDataHandler(HelloImpl.java:100)
          at mtomlarge.server.HelloImpl.upload(HelloImpl.java:61)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at
          sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at
          sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at
          com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
          at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
          at
          com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2929)
          at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4020)
          at
          com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:190)
          ... 62 more

          #]
          Show
          ramapulavarthi added a comment - Verified to work on v3.0.1, and v3.1 Verfied the bug on V2.1.1 with the following stacktrace. [#|2010-10-07T16:37:00.636-0700|INFO|sun-appserver2.1|javax.enterprise.system.container.ejb|_ThreadID=15;_ThreadName=httpSSLWork erThread-8080-0;| javax.ejb.EJBException at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:3903) at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3803) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3605) at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:201) at $Proxy36.upload(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.enterprise.webservice.InvokerImpl.invoke(InvokerImpl.java:78) at com.sun.enterprise.webservice.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82) at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146) at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257) at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106) at com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:147) at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106) at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:222) at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:133) at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135) at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113) at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87) at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:231) at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:157) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) Caused by: java.lang.ClassCastException: javax.activation.DataHandler cannot be cast to com.sun.xml.ws.developer.StreamingDataHandler at mtomlarge.server.HelloImpl.validateDataHandler(HelloImpl.java:100) at mtomlarge.server.HelloImpl.upload(HelloImpl.java:61) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011) at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175) at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2929) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4020) at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:190) ... 62 more #]
          Hide
          ramapulavarthi added a comment -

          Created an attachment (id=5095)
          test case to reproduce

          Show
          ramapulavarthi added a comment - Created an attachment (id=5095) test case to reproduce
          Hide
          Lukas Jungmann added a comment -

          fixed in 3.1.2, fix for GLASSFISH-18540 is required in trunk

          Show
          Lukas Jungmann added a comment - fixed in 3.1.2, fix for GLASSFISH-18540 is required in trunk
          Hide
          Lukas Jungmann added a comment -

          fixed by fix for GLASSFISH-18540

          Show
          Lukas Jungmann added a comment - fixed by fix for GLASSFISH-18540

            People

            • Assignee:
              Lukas Jungmann
              Reporter:
              jitu
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: