[ 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.