cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arul Dhesiaseelan <a...@fluxcorp.com>
Subject Re: LoggingHandler failing to invoke with a NPE
Date Wed, 09 Jul 2008 19:13:12 GMT
I figured it out why I was getting a NPE.

I need to configure the handlers in the server-side which solved the 
problem.

Sorry for the noise.

Thanks!
Arul

Arul Dhesiaseelan wrote:
> Hello CXF users,
>
> I tried using the logging handler from the CXF samples in my own test.
>
> I get the following NPE when I run my client.
>
> INFO: Creating Service {http://test.com}ws from class 
> com.test.cxf.HelloWorld
> Exception in thread "main" java.lang.NullPointerException
>    at 
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.buildHandlerChain(JaxWsProxyFactoryBean.java:134)

>
>    at 
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.clientClientProxy(JaxWsProxyFactoryBean.java:82)

>
>    at 
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:111)

>
>    at 
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:93) 
>
>    at com.test.cxf.Client.main(Client.java:35)
>    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:585)
>    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
>
>
> Looking at the CXF source, it seems the resource manager is null when 
> trying to create the resource injector.
>
> On the server side, my last few messages were:
>
> Jul 9, 2008 11:46:08 AM 
> org.apache.cxf.jaxws.handler.HandlerChainBuilder buildHandlerChain
> FINE: loading handler
> Jul 9, 2008 11:46:08 AM 
> org.apache.cxf.jaxws.handler.HandlerChainBuilder buildHandlerChain
> FINE: adding handler to chain: com.test.cxf.LoggingHandler@1e8c585
> Server started at http://localhost:9999/hello
>
>
> Here is my server code:
>
>    JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
>    sf.setServiceClass(HelloWorld.class);
>    sf.getServiceFactory().setWrapped(true);
>
>    QName name = new QName("http://test.com", "ws", "");
>    sf.setServiceName(name);
>    sf.setAddress("http://localhost:9999/hello");
>
>    HelloWorld helloService = new HelloWorldImpl();
>    sf.getServiceFactory().setInvoker(new BeanInvoker(helloService));
>    org.apache.cxf.endpoint.Server server = sf.create();
>    String endpoint = server.getEndpoint().getEndpointInfo().getAddress();
>    System.out.println("Server started at " + endpoint);
>
>
> Here is my client code:
>
>    JaxWsProxyFactoryBean proxyFactory = new JaxWsProxyFactoryBean();
>    proxyFactory.setServiceClass(HelloWorld.class);
>    proxyFactory.setAddress("http://localhost:9999/hello");
>    QName name = new QName("http://test.com", "ws", "");
>    proxyFactory.setServiceName(name);
>    Handler handler = new LoggingHandler();
>    List<Handler> handlerChain = new ArrayList<Handler>();
>    handlerChain.add(handler);
>    proxyFactory.setHandlers(handlerChain);
>
>    HelloWorld hello = (HelloWorld) proxyFactory.create();
>
> Both the service and interface has been annotated with:
> @HandlerChain(file = "./handlers.xml")
>
> And my handlers.xml:
>
> <handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee">
>    <handler-chain>
>    <handler>
>        <handler-name>LoggingHandler</handler-name>
>        <handler-class>com.test.cxf.LoggingHandler</handler-class>
>    </handler>
>    </handler-chain>
> </handler-chains>
>
>
> Am I missing anything? Appreciate your help.
>
> Thank you,
> Arul
>
>
> ________________________________
> Scanned by MessageLabs for Flux
> ________________________________


Mime
View raw message