Any chance you could try the latest 2.0.3 SNAPSHOT?
I just tried with trunk and this worked fine.
Server code:
public void removeXtmProjects(java.util.List<java.lang.String>
projectIds) throws IncorrectProjectIdsException {
throw new IncorrectProjectIdsException("Exception on server",
projectIds.get(0));
}
Client code:
java.util.List<java.lang.String> _removeXtmProjects_projectIds =
new ArrayList<String>();
_removeXtmProjects_projectIds.add("hello");
try {
port.removeXtmProjects(_removeXtmProjects_projectIds);
} catch (IncorrectProjectIdsException e) {
System.out.println("Expected exception:
IncorrectProjectIdsException has occurred.");
System.out.println(e.toString());
System.out.println(e.getFaultInfo());
}
What got printed out:
Expected exception: IncorrectProjectIdsException has occurred.
com.xmlintl.webservice.integration.IncorrectProjectIdsException:
Exception on server
hello
Thus, it looks like it's fixed.
Dan
On Monday 22 October 2007, Piotr PiBis Berlowski wrote:
> Hi,
>
> 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(IntegrationC
>lient.java:251) Caused by: org.apache.cxf.binding.soap.SoapFault:
> Project does not exist. at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handl
>eMessage(Soap11FaultInInterceptor.java:70) at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handl
>eMessage(Soap11FaultInInterceptor.java:35) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:207) at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessa
>ge(AbstractFaultChainInitiatorObserver.java:90) at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleM
>essage(ReadHeadersInterceptor.java:179) at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleM
>essage(ReadHeadersInterceptor.java:56) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:207) at
> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:395) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
>sponse(HTTPConduit.java:1932) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
>TPConduit.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$MessageSenderEndin
>gInterceptor.handleMessage(MessageSenderInterceptor.java:62) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.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(AbstractInv
>oker.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(ServiceInvo
>kerInterceptor.java:56) at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecut
>or.java:37) at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(Ser
>viceInvokerInterceptor.java:92) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:207) at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitia
>tionObserver.java:73) at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletD
>estination.java:79) at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(S
>ervletController.java:235) at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletContr
>oller.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(Appli
>cationFilterChain.java:237) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:157) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>lve.java:214) at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
>Context.java:104) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
>:520) at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardC
>ontextValve.java:198) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>lve.java:152) at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
>Context.java:104) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
>:520) at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>va:137) at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
>Context.java:104) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>va:118) at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
>Context.java:102) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
>:520) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>e.java:109) at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
>Context.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.proces
>sConnection(Http11Protocol.java:705) at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
>577) at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPo
>ol.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.removeXtmPro
>ject(ProjectManager.java:553) at
> com.xmlintl.webservice.integration.IntegrationImpl.removeXtmProjects(I
>ntegrationImpl.java:75) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>ava:39) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(Abstr
>actInvoker.java:107) at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.
>java:77) ... 38 more
--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727 C: 508-380-7194
[EMAIL PROTECTED]
http://www.dankulp.com/blog