On Friday 23 April 2010 7:28:28 am Daniel Putra wrote:
> Hi
> 
> I have multiple third party web services (I connect to a third party web
> service) and a server RESTfull web service (web service clients connect to
> me) in a Spring application.
> 
> One third party web service is only working if a policy engine is specified
> like
> 
>    <bean id="org.apache.cxf.ws.policy.PolicyEngine"
> class="org.apache.cxf.ws.policy.PolicyEngineImpl"> <property name="bus"
> ref="cxf"/>
>       <property name="enabled" value="true"/>
>    </bean>

Note:  just importing   META-INF/cxf/cxf-extension-policy.xml  should 
accomplish the same thing.


Dan



> 
> as it otherwise throws the following exception:
> 
> java.lang.NullPointerException
>  at
> org.apache.cxf.ws.policy.WSPolicyFeature.initialize(WSPolicyFeature.java:1
> 00) at
> org.apache.cxf.ws.policy.WSPolicyFeature.initializeEndpointPolicy(WSPolicy
> Feature.java:139) at
> org.apache.cxf.ws.policy.WSPolicyFeature.initialize(WSPolicyFeature.java:1
> 12) at
> org.apache.cxf.frontend.ClientFactoryBean.applyFeatures(ClientFactoryBean.
> java:71) at
> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:60
> ) at
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBe
> an.java:102) at
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.ja
> va:115)
> 
> 
> But as soon as I add the PolicyEngine bean into the xml my RESTful web
> service does not work any longer. It throws the following null pointer
> exception:
> 
> 2010-04-23 13:08:40,758 WARN [org.apache.cxf.phase.PhaseInterceptorChain] -
> Interceptor for {http://party.misc.profidaweb/}PartyServiceRest has thrown
> exception, unwinding now java.lang.NullPointerException
>  at
> org.apache.cxf.ws.policy.PolicyInInterceptor.handle(PolicyInInterceptor.ja
> va:132) at
> org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractP
> olicyInterceptor.java:45) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCha
> in.java:243) at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiation
> Observer.java:110) at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestinat
> ion.java:98) at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servl
> etController.java:423) at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControlle
> r.java:139) at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServ
> let.java:142) at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstrac
> tHTTPServlet.java:179) at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPSer
> vlet.java:108) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> 
> 
> I attach my configuration file for the RESTfull web service. The client web
> services are defined in java like:
> 
>             Map<String, Object> outProps = new HashMap<String, Object>();
>             outProps.put(WSHandlerConstants.ACTION,
> WSHandlerConstants.TIMESTAMP + " " + WSHandlerConstants.USERNAME_TOKEN);
> outProps.put(WSHandlerConstants.USER, userPerson.fseLoginType() + "\\" +
> userPerson.getFSELoginName());
> outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
> outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS,
> PasswordCallbackHandler.class.getName()); WSS4JOutInterceptor wss4jOut =
> new WSS4JOutInterceptor(outProps);
> 
>             JaxWsProxyFactoryBean wsFactory = new JaxWsProxyFactoryBean();
>             wsFactory.getOutInterceptors().add(wss4jOut);
>             wsFactory.setServiceClass(FseWebService_DEF.class);
>             wsFactory.setAddress(url);
>             wsFactory.getFeatures().add(new WSPolicyFeature());
> 
>             FseWebService_DEF fseWebService =
> (FseWebService_DEF)wsFactory.create();
> 
> 
> Please help, how can I either change the client or the RESTfull web service
> declaration to avoid the null pointer exception and have both working next
> to each other?
> 
> Best regards
> Daniel Putra

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to