I am using the released version of 2.1.  I am currently following this approach 
since it works well with my needs to programmatically decide which ports to use 
at run time. So I do not have any client configuration in XML.
 
However, I am in the same Spring context as my web services that are defined in 
xml.  That xml is in the previous emails that are chained below.
 
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());

factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setServiceClass(HelloWorld.class);
factory.setAddress("http://localhost:9000/helloWorld";);
HelloWorld client = (HelloWorld) factory.create();


________________________________

From: Willem Jiang [mailto:[EMAIL PROTECTED]
Sent: Mon 5/5/2008 6:54 AM
To: [email protected]
Subject: Re: Using CXF In Existing Spring Context



Which CXF version are you using?
With the trunk code ( CXF 2.1 ) , it looks like the
DestinationFactoryManager dfm  which is got from the bus is null.

protected EndpointInfo createEndpointInfo() throws BusException {
        if (transportId == null
            && getAddress() != null) {
            DestinationFactory df = getDestinationFactory();
            if (df == null) {
                DestinationFactoryManager dfm =
getBus().getExtension(DestinationFactoryManager.class);
                df = dfm.getDestinationFactoryForUri(getAddress()); <-- 
The NPE is thrown from this line
            }
...

So I doubt you set the right bus on the client side?
Can you show me the client spring configuration file ?

Willem
Urciolo, Kevin wrote:
> Thanks, that seemed to help.  The only problem I have now is when attempting 
> to get a client, I get the following error:
> 
> java.lang.NullPointerException                                                
>                                   at 
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpointInfo(AbstractWSDLBased
> EndpointFactory.java:160)                                                     
>                                   at 
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndp
> ointFactory.java:102)                                                         
>                                   at 
> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51)
>         at 
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:97)
>                 at 
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:89)
> 
> This works fine when running the CXF client stand alone.
> 
> I see this nabble entry talking about the need to configure the CXF Bus.  Is 
> this what I need to do in my
> case?
> http://www.nabble.com/java.lang.NullPointerException-td14201919.html#a14201919
>
> ________________________________
>
> From: Ian Roberts [mailto:[EMAIL PROTECTED]
> Sent: Sun 5/4/2008 6:19 PM
> To: [email protected]
> Subject: Re: Using CXF In Existing Spring Context
>
>
>
> Urciolo, Kevin wrote:
>  
>>         <servlet>
>>                 <servlet-name>context</servlet-name>
>>                 <servlet-class>
>>                         org.springframework.web.context.ContextLoaderServlet
>>                 </servlet-class>
>>                 <load-on-startup>1</load-on-startup>
>>         </servlet>
>>    
> [...]
>  
>>     <listener>
>>         <listener-class>
>>             org.springframework.web.context.ContextLoaderListener
>>         </listener-class>
>>     </listener>
>>    
>
> ContextLoaderServlet and ContextLoaderListener do the same job - you
> only want one or the other, not both, and the Spring docs prefer the
> listener.  I wouldn't be surprised if you get problems when you use
> both, with the context being initialized twice or something...
>
> http://static.springframework.org/spring/docs/2.0.x/reference/beans.html#context-create
>
> Also, do you have the required imports in your Spring context file?
>
>    <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" />
>
> Ian
>
> --
> Ian Roberts               | Department of Computer Science
> [EMAIL PROTECTED]  | University of Sheffield, UK
>
>
>
>  



Reply via email to