You were right.  I changed code to use the
org.apache.cxf.jaxws.JaxWsProxyFactoryBean so I could load the bus.  This
seemed to fix my problems.  Thanks for pointing me in the right direction.



Willem2 wrote:
> 
> Hi,
> 
> I did not find any jaxws:** or the server factory bean in your spring
> configuration file.
> Did you wrap the server factory bean in your
> com.mysite.services.types.ObjectFactory ?
> If so , can you show me the code of the  ObjectFactory ?
> 
> I think you did not load the bus correctly.
> 
> Willem.
> 
> green804 wrote:
>> 
>> I am not currently implementing a bus.  Do I need to do this?  I am using
>> Spring 2.0 and this is running on tomcat.  I've included the Spring
>> context file for this client.  I'm calling a service that's in .NET.
>> 
>> How would I configure this?
>> 
>> <beans xmlns="http://www.springframework.org/schema/beans";
>>      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>      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/jaxws http://cxf.apache.org/schemas/jaxws.xsd";>
>> 
>>     <import resource="classpath:META-INF/cxf/cxf.xml" />
>>      <import resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml"
>> />
>>      <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>>      <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
>> 
>>    <bean id="newsServiceClient"
>> class="com.mysite.services.news.NewsService">
>>    </bean>
>>    
>>    <bean id="mysiteObjectFactory"
>> class="com.mysite.services.types.ObjectFactory"></bean>
>> 
>> </beans>
>> 
>> 
>> 
>> 
>> 
>> Willem2 wrote:
>>> 
>>> Hi ,
>>> 
>>>  It looks like the WSDLServiceFactory can 't  get the WSDLManager from 
>>> the bus when you try to create a service model for the client.
>>> 
>>>  public WSDLServiceFactory(Bus b, String url, QName sn) {
>>>         setBus(b);
>>>         try {
>>>             // use wsdl manager to parse wsdl or get cached definition
>>>             definition = 
>>> getBus().getExtension(WSDLManager.class).getDefinition(url);  // The NPE 
>>> is thrown form here
>>>         } catch (WSDLException ex) {
>>>             throw new ServiceConstructionException(new 
>>> Message("SERVICE_CREATION_MSG", LOG), ex);
>>>         }
>>>        
>>>         serviceName = sn;
>>>     }
>>> 
>>> It could be your WSDLManager does not be set to the bus.
>>> Can you tell me how did you initialize the bus?
>>> Did you use the spring configuration or load the bus by other means?
>>> 
>>> Maybe you can set the log level to INFO for more information.
>>> 
>>> 
>>> Willem.
>>> 
>>>    
>>> green804 wrote:
>>>> I have this code working in my development environment, but when I
>>>> employ to
>>>> our test environment I'm getting a null pointer.  I'm not sure why this
>>>> is
>>>> happening.  Can someone give me any pointers?  I'm really desperate to
>>>> find
>>>> a solution.
>>>>
>>>> java.lang.NullPointerException
>>>>         at
>>>> org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:81)
>>>>         at
>>>> org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:112)
>>>>         at
>>>> org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:104)
>>>>         at
>>>> org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:55)
>>>>         at javax.xml.ws.Service.<init>(Service.java:57)
>>>>         at
>>>> com.mysite.services.news.NewsService.<init>(NewsService.java:41)
>>>>         at
>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>> Method)
>>>>         at
>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>
>>>> >From code:
>>>>
>>>> @WebServiceClient(name = "NewsService", targetNamespace =
>>>> "http://services.mysite.com/News";, wsdlLocation =
>>>> "http://mysite.com/services/NewsService.svc?wsdl";)
>>>> public class NewsService extends Service {
>>>>
>>>>     private final static URL WSDL_LOCATION;
>>>>     private final static QName SERVICE = new
>>>> QName("http://services.mysite.com/News";, "NewsService");
>>>>     private final static QName BasicHttpBinding = new
>>>> QName("http://services.mysite.com/News";, "basicHttpBinding");
>>>>     static {
>>>>         URL url = null;
>>>>         try {
>>>>             url = new
>>>> URL("http://mysite.com/services/NewsService.svc?wsdl";);
>>>>         } catch (MalformedURLException e) {
>>>>             System.err.println("Can not initialize the default wsdl
>>>> from
>>>> http://mysite.com/services/NewsService.svc?wsdl";);
>>>>             // e.printStackTrace();
>>>>         }
>>>>         WSDL_LOCATION = url;
>>>>     }
>>>>
>>>>     public NewsService(URL wsdlLocation, QName serviceName) {
>>>>         super(wsdlLocation, serviceName);
>>>>     }
>>>>
>>>>     public NewsService() {
>>>>         super(WSDL_LOCATION, SERVICE);
>>>>     }
>>>>
>>>>     /**
>>>>      * 
>>>>      * @return
>>>>      *     returns BasicHttpBinding
>>>>      */
>>>>     @WebEndpoint(name = "basicHttpBinding")
>>>>     public NewsServiceContract getBasicHttpBinding() {
>>>>         return (NewsServiceContract)super.getPort(BasicHttpBinding,
>>>> NewsServiceContract.class);
>>>>     }
>>>>
>>>>
>>>>   
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Null-Pointer-in-WSDLServiceFactory-tf4357565.html#a12483236
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to