Daniel,
Thanks for your response.
I am not sure which class you were referring to in your response. Since I
see the stacktrace on the client side and this being a pretty simple client,
there is probably only 1 classloader thats not finding something.

Thankfully, it is client side code that is having trouble. I went ahead and
used SoapUI to test the web service (which is what I was doing when I got
sidetracked by the NPE...). Everything looks good on the server side :)

Thanks.




dkulp wrote:
> 
> 
> Do you know what classloader the class is in?  
> 
> Looking at the code, I could see an NPE if the class is in the bootstrap 
> classsloader, but that's kind of a bizarre case.    I'll add some checks
> for 
> that.  
> 
> Dan
> 
> On Wednesday 20 August 2008 2:46:22 am tedzo wrote:
>> Hello,
>> I have a HelloWorld client and server working great with WS-Security
>> enabled. I am using cxf-2.1, tomcat6. I am now trying to convert an
>> existing class within my webapp into a service and test it using a
>> standalone cxf client. I seem to be having trouble getting the client up
>> and running although it is identical to the HelloWorld client.
>> JaxWsProxyFactoryBean is not finding some class. It can't be the client
>> interface because that class is there on the classpath for sure... OR
>> does
>> cxf expect the client interface to exist in a specific location? The wsdl
>> is available when I access it via the browser. Any pointers are greatly
>> appreciated.
>> Thanks.
>> My client is-
>> main() {
>> ClassPathXmlApplicationContext context  = new
>> ClassPathXmlApplicationContext(new String[]
>> {"client/demo/spring/client/clientAppContext.xml"}); ---->> BLOWS UP
>> RIGHT
>> HERE
>>
>>   IXXAdmin_WS client = (IXXAdmin_WS) context.getBean("client");
>>   Client proxy = ClientProxy.getClient( client );
>>    Endpoint cxfEndpoint = proxy.getEndpoint();
>>    Map<String,Object> outProps = new HashMap<String,Object>();
>>    WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
>>    outProps.put(WSHandlerConstants.ACTION, "UsernameToken Timestamp");
>>    outProps.put(WSHandlerConstants.USER, "ws-client");
>>    outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
>>    outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS,
>> demo.spring.client.ClientPasswordCallbackHandler.class.getName());
>> cxfEndpoint.getOutInterceptors().add(wssOut);
>>      System.out.println("Server says: " + client.getSuperUserName());
>> }
>> The clientAppContext.xml is-
>> <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/schema/jaxws.xsd";>
>>
>>     <bean id="client"
>> class="com.bling.sms.admin.stug.server.manager.IStugAdmin_WS"
>> factory-bean="clientFactory" factory-method="create"/>
>>    
>>     <bean id="clientFactory"
>> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> <property
>> name="serviceClass"
>> value="com.bling.sms.admin.stug.server.manager.IStugAdmin_WS"/> <property
>> name="address" value="http://localhost:8080/sms/Stug"/> <property
>> name="outInterceptors">
>>             <list>
>>               <bean
>> class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" /> <ref
>> bean="wss4jOutConfiguration" />
>>             </list>
>>           </property>
>>       </bean>
>>
>>     <bean id="wss4jOutConfiguration"
>> class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor"> <property
>> name="properties">
>>           <map>
>>             <entry key="action" value="UsernameToken Timestamp"/>
>>             <entry key="user" value="ws-client" />
>>             <entry key="passwordType" value="PasswordText" />
>>             <entry>
>>               <key>
>>                 <value>passwordCallbackRef</value>
>>               </key>
>>               <ref bean="passwordCallback"/>
>>             </entry>
>>    </map>
>>  </property>
>>     </bean>
>>     <bean id="passwordCallback"
>> class="demo.spring.client.ClientPasswordCallbackHandler" /> </beans>
>> Stack trace-
>> Aug 19, 2008 11:15:49 PM
>> org.apache.cxf.service.factory.ReflectionServiceFactory Bean
>> buildServiceFromClass
>> INFO: Creating Service {http://manager.server.stug.admin.sms.bling.com/}
>> IStugAdmin_WSService from class com.bling.sms.admin.stug.server.manager.I
>> StugAdmin_WS
>> Aug 19, 2008 11:15:49 PM
>> org.springframework.beans.factory.support.DefaultSingle tonBeanRegistry
>> destroySingletons
>> INFO: Destroying singletons in
>> org.springframework.beans.factory.support.Default
>> [EMAIL PROTECTED]: defining beans
>> [client,clientFactory,wss4jOutConfigu ration,passwordCallback]; root of
>> factory hierarchy
>> Exception in thread "main"
>> org.springframework.beans.factory.BeanCreationExcepti on: Error creating
>> bean with name 'client' defined in class path resource [clien
>> t/demo/spring/client/clientAppContext.xml]: Instantiation of bean failed;
>> nested exception is
>> org.springframework.beans.factory.BeanDefinitionStoreException: Fa ctory
>> method [public java.lang.Object
>> org.apache.cxf.jaxws.JaxWsProxyFactoryBean
>> .create()] threw exception; nested exception is
>> java.lang.NullPointerException Caused by:
>> org.springframework.beans.factory.BeanDefinitionStoreException: Facto ry
>> method [public java.lang.Object
>> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.cr eate()] threw exception;
>> nested exception is java.lang.NullPointerException Caused by:
>> java.lang.NullPointerException
>>         at
>> org.apache.cxf.common.classloader.ClassLoaderUtils.loadClass2(ClassLo
>> aderUtils.java:139)
>>         at
>> org.apache.cxf.common.classloader.ClassLoaderUtils.loadClass(ClassLoa
>> derUtils.java:127)
>>         at
>> org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.getRequestWrap
>> per(JaxWsServiceConfiguration.java:614)
>>         at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.getReques
>> tWrapper(ReflectionServiceFactoryBean.java:1941)
>>         at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createInp
>> utWrappedMessageParts(ReflectionServiceFactoryBean.java:1384)
>>         at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createOpe
>> ration(ReflectionServiceFactoryBean.java:765)
>>         at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.createOperation(
>> JaxWsServiceFactoryBean.java:473)
>>         at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createInt
>> erface(ReflectionServiceFactoryBean.java:739)
>>         at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFro
>>mClass(ReflectionServiceFactoryBean.java:335) at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFrom
>> Class(JaxWsServiceFactoryBean.java:513)
>>         at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializ
>> eServiceModel(ReflectionServiceFactoryBean.java:396)
>>         at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Re
>> flectionServiceFactoryBean.java:181)
>>         at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServ
>> iceFactoryBean.java:163)
>>         at
>> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoi
>> nt(AbstractWSDLBasedEndpointFactory.java:79)
>>         at
>> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.ja
>> va:51)
>>         at
>> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFact
>> oryBean.java:97)
>>         at
>> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBe
>> an.java:93)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>> Source)
>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>         at
>> org.springframework.beans.factory.support.SimpleInstantiationStrategy
>> .instantiate(SimpleInstantiationStrategy.java:118)
>>         at
>> org.springframework.beans.factory.support.ConstructorResolver.instant
>> iateUsingFactoryMethod(ConstructorResolver.java:344)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> Factory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.ja
>>va:78 3)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> Factory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:710)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBean
>> Factory.createBean(AbstractAutowireCapableBeanFactory.java:386)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
>> ject(AbstractBeanFactory.java:249)
>>         at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
>> y.getSingleton(DefaultSingletonBeanRegistry.java:155)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> (AbstractBeanFactory.java:246)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean
>> (AbstractBeanFactory.java:160)
>>         at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.
>> preInstantiateSingletons(DefaultListableBeanFactory.java:291)
>>         at
>> org.springframework.context.support.AbstractApplicationContext.refres
>> h(AbstractApplicationContext.java:352)
>>         at
>> org.springframework.context.support.ClassPathXmlApplicationContext.
>> nit>(ClassPathXmlApplicationContext.java:122)
>>         at
>> org.springframework.context.support.ClassPathXmlApplicationContext.
>> nit>(ClassPathXmlApplicationContext.java:76)
>>         at demo.spring.client.ConfigClient.main(ConfigClient.java:40)
> 
> 
> 
> -- 
> Daniel Kulp
> [EMAIL PROTECTED]
> http://www.dankulp.com/blog
> 
> 

-- 
View this message in context: 
http://www.nabble.com/NPE-in-JaxWsProxyFactoryBean...-tp19063756p19097915.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to