You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Piotr Berłowski (JIRA)" <ji...@apache.org> on 2007/10/23 17:31:50 UTC

[jira] Commented: (CXF-1131) JAX-WS + JAXB problem - javax.xml.ws.soap.SOAPFaultException thrown instead of custom exception

    [ https://issues.apache.org/jira/browse/CXF-1131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537042 ] 

Piotr Berłowski commented on CXF-1131:
--------------------------------------

This issue was caused by a problem with sending null details. The exception on the server side was issued with:

throw new IncorrectProjectIdsException("Exception...");

instead of 

throw new IncorrectProjectIdsException("Exception...", "Details...");

The latter example works fine while the former produces faulty behaviour.

Great thanks for Daniel Kulp for pointing that out.

> JAX-WS + JAXB problem - javax.xml.ws.soap.SOAPFaultException thrown instead of custom exception
> -----------------------------------------------------------------------------------------------
>
>                 Key: CXF-1131
>                 URL: https://issues.apache.org/jira/browse/CXF-1131
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime, JAXB Databinding, Soap Binding
>    Affects Versions: 2.0.3
>         Environment: Gentoo Linux suspend2-2.6.22-r2, Java 1.6.0.03, Eclipse 3.3
>            Reporter: Piotr Berłowski
>            Priority: Critical
>         Attachments: IncorrectProjectIdsException.java, Integration.wsdl, Integration_IntegrationPort_Client.java
>
>
> We consider this issue to be a huge blocker for a major project. When a
> user-defined exception is thrown by the server, a client receives   a
> SOAPExceptionFault (with the message that belonged to the user-defined
> exception). CXF version is 2.0.2. You can find generated exception
> class, exception details class and relevant parts od wsdl attached to
> this message.
> If any more information is required, I will be more than happy to post
> it. We are really stuck with this!
> Thanks in advance, and best regards!
>         Exceptions are logged both by the server, on Tomcat console and on the
> client side.
> Client:
> Invoking removeXtmProjects...
> Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Project
> does not exist.
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:175)
>         at $Proxy27.removeXtmProjects(Unknown Source)
>         at
> com.xmlintl.webservice.integration.IntegrationClient.main(IntegrationClient.java:251)
> Caused by: org.apache.cxf.binding.soap.SoapFault: Project does not exist.
>         at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:70)
>         at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>         at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:90)
>         at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:179)
>         at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:56)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>         at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:395)
>         at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1932)
>         at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1790)
>         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:576)
>         at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
>         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
>         ... 2 more
> Server side:
> INFO: Executing operation removeXtmProjects
> 2007-10-22 10:07:39 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Project does not exist.
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:101)
>         at
> org.apache.cxf.jaxws.JAXWSMethodInvoker.createFault(JAXWSMethodInvoker.java:76)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:90)
>         at
> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:100)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
>         at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
>         at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>         at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
>         at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:79)
>         at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:235)
>         at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:140)
>         at org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:278)
>         at org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:256)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>         at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
>         at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by:
> com.xmlintl.webservice.integration.IncorrectProjectIdsException: Project
> does not exist.
>         at
> com.xmlintl.webservice.integration.project.ProjectManager.removeXtmProject(ProjectManager.java:553)
>         at
> com.xmlintl.webservice.integration.IntegrationImpl.removeXtmProjects(IntegrationImpl.java:75)
>         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
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:107)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:77)
>         ... 38 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.