[jbossws-issues] [JBoss JIRA] Updated: (JBWS-2114) Soap attachments are dropped on server response when added in ejb3 jaxws handler

Thomas Diesler (JIRA) jira-events at lists.jboss.org
Tue Apr 8 10:10:55 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBWS-2114?page=all ]

Thomas Diesler updated JBWS-2114:
---------------------------------

      Component/s: jbossws-cxf
                       (was: jbossws-native)
    Fix Version/s:     (was: jbossws-2.0.0)
      Description: 
Caused by: javax.ejb.EJBException: java.lang.IllegalArgumentException: Wrong target. class org.jboss.test.ws.jaxws.jbws1283.JBWS1283EndpointImpl for public void org.jboss.test.ws.jaxws.jbws1283.JBWS1283EndpointImpl.requestAttachmentData()
        at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
        at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
        at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
        at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.wsf.container.jboss42.InvocationHandlerEJB3.invoke(InvocationHandlerEJB3.java:103)
        at org.jboss.wsf.stack.cxf.AbstractInvoker.invoke(AbstractInvoker.java:113)


  was:
Soap attachments were dropped on server responses. Attachment can be added on a handler's handleResponse method; however it mysteriously disappeared on the outgoing soap message.

The problem was in the ServiceEndpointInvoker. It overwrote the SOAPMessage in the MessageContext. In this class, the method invokeServiceEndpoint was overwritten by ServiceEndpointInvokerEJB21, which invokes the EJB via the ServiceEndpointInterceptor. This ServiceEndpointInterceptor invokes the EJB and also the handlers; it creates the correct SOAPMessage and sets it in the ContextContext. Unfortunately, it was overwritten later by the ServiceEndpointInvoker.

Fixes are attached.


> Soap attachments are dropped on server response when added in ejb3 jaxws handler
> --------------------------------------------------------------------------------
>
>                 Key: JBWS-2114
>                 URL: http://jira.jboss.com/jira/browse/JBWS-2114
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: jbossws-cxf
>         Environment: windows, linux, jdk1.5
>            Reporter: Thomas Diesler
>         Assigned To: Heiko Braun
>
> Caused by: javax.ejb.EJBException: java.lang.IllegalArgumentException: Wrong target. class org.jboss.test.ws.jaxws.jbws1283.JBWS1283EndpointImpl for public void org.jboss.test.ws.jaxws.jbws1283.JBWS1283EndpointImpl.requestAttachmentData()
>         at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
>         at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
>         at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
>         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
>         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
>         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
>         at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
>         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
>         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
>         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.wsf.container.jboss42.InvocationHandlerEJB3.invoke(InvocationHandlerEJB3.java:103)
>         at org.jboss.wsf.stack.cxf.AbstractInvoker.invoke(AbstractInvoker.java:113)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbossws-issues mailing list