Hi !

I have a simple exception class:

@WebFault(name = "faultDetail")
public class NotLoggedInException extends Exception
{
    private NotLoggedInFaultDetail faultDetail;


    public NotLoggedInException( String message )
    {
        super( message );
    }

    public NotLoggedInException( String message, NotLoggedInFaultDetail 
faultDetail )
    {
        super( message );
        this.faultDetail = faultDetail;
    }

    public NotLoggedInException( String message, NotLoggedInFaultDetail 
faultDetail, Throwable cause )
    {
        super( message, cause );
        this.faultDetail = faultDetail;
    }

    public NotLoggedInFaultDetail getFaultInfo() {
        return this.faultDetail;
    }
}


and a fault detail class

@XmlRootElement(name = "faultDetail")
public class NotLoggedInFaultDetail
{
    private String detail;

    public NotLoggedInFaultDetail( String detail )
    {
        this.detail = detail;
    }

    public String getDetail()
    {
        return detail;
    }

    public void setDetail( String detail )
    {
        this.detail = detail;
    }
}


And I'm constantly getting the following exception when
I try to access the (SERVLET TRANSPORT):

java.lang.NullPointerException
        at 
org.apache.cxf.jaxb.JAXBSchemaInitializer.end(JAXBSchemaInitializer.java:213)
        at 
org.apache.cxf.service.ServiceModelVisitor.visitOperation(ServiceModelVisitor.java:89)
        at 
org.apache.cxf.service.ServiceModelVisitor.walk(ServiceModelVisitor.java:48)
        at 
org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:255)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:244)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:272)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:146)
        at 
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
        at 
org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:83)
        at 
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:107)
        at 
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:147)
        at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:287)
        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:227)
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:179)
        at 
org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:74)
        at javax.xml.ws.Endpoint.publish(Endpoint.java:156)
        at com.actimind.actitime.dtr.ws.CXFServlet.init(CXFServlet.java:23)
        at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
        at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:750)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:130)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Unknown Source)

The interesing thing is that if i remove the method
getFaultInfo() from the NotLoggedInException the exception
disappears, but I suppose in this case such a fault is incorectly
declared.

To publish my service I've extended your CFXServlet and
call Endpoint.publish(...) just after the servlet initialization.


        
Thanks,
Egor Samarkhanov ([EMAIL PROTECTED])


Reply via email to