I have recently upgraded from XFire 1.2.6 to CXF 2.0.5, (within JBoss
4.2.0.GA/Java1.6.0_06).

When using JAXWS, when my services throws an exception from the "business"
code, the exception stack is not logged.  For example, when my application
throws a NullPointerException, only the following is mentioned in the log
(instead of printing that stack trace or the exception class at the very
least):

  15:36:41,796 ERROR [STDERR] Apr 21, 2008 3:36:41 PM
org.apache.cxf.phase.PhaseInterceptorChain doIntercept
  INFO: Application has thrown exception, unwinding now: null

I am using the following cxf configuration:

---

<beans xmlns="http://www.springframework.org/schema/beans";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xmlns:cxf="http://cxf.apache.org/core";
  xmlns:jaxws="http://cxf.apache.org/jaxws";
  xsi:schemaLocation="
  http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
  http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd";>

  <import resource="classpath:META-INF/cxf/cxf.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
  <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

  <bean id="logInbound"
class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
  <bean id="logOutbound"
class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>

  <cxf:bus>
    <cxf:features>
      <cxf:logging/>
    </cxf:features>
    <cxf:inInterceptors>
      <ref bean="logInbound"/>
    </cxf:inInterceptors>
    <cxf:outInterceptors>
      <ref bean="logOutbound"/>
    </cxf:outInterceptors>
    <cxf:inFaultInterceptors>
      <ref bean="logOutbound"/>
    </cxf:inFaultInterceptors>
  </cxf:bus>

  <jaxws:endpoint id="ExampleService"
    implementor="com.example.ExampleWs"
    endpointName="e:Example"
    serviceName="s:ExampleService"
    address="/ImportDistSnapService"
    xmlns:e="http://service.jaxws.cxf.apache.org/endpoint";
    xmlns:s="http://service.jaxws.cxf.apache.org/service";>
    <jaxws:inFaultInterceptors>
      <ref bean="logOutbound"/>
    </jaxws:inFaultInterceptors>
  </jaxws:endpoint>

</beans>

---

And the following web.xml:

<web-app>
  <servlet>
    <servlet-name>CXFServlet</servlet-name>
    <display-name>CXF Servlet</display-name>
    <servlet-class>
      org.apache.cxf.transport.servlet.CXFServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      classpath:WEB-INF/cxf/services.xml
    </param-value>
  </context-param>

  <listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>

</web-app>
-- 
View this message in context: 
http://www.nabble.com/Exception-logging-on-server%3A-tp16816689p16816689.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to