You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Alexandros Karypidis <ak...@yahoo.gr> on 2009/10/19 15:38:59 UTC
WS-RM on WebLogic 10.3.1
Hi all,
I'm trying to publish a WS-RM service on WebLogic 10.3.1. I am using the
JAX-WS frontend and CXFServlet. When I enable WS-RM, I get a
NullPointerException (see stack trace at end of message) regarding the
WS-Policy. I define the policy in the WSDL and enabling the policies
features in my Spring bean configuration:
WSDL snippet:
<service name='AsyncMessagingService'>
<wsp:PolicyReference URI="#RM"
xmlns:wsp="http://www.w3.org/2006/07/ws-policy" />
...
<wsp:Policy wsu:Id="RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wswa:UsingAddressing
xmlns:wswa="http://www.w3.org/2005/02/addressing/wsdl" />
<wsrmp:RMAssertion
xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
<wsrmp:BaseRetransmissionInterval
Milliseconds="10000" />
<wsrmp:DeliveryAssurance>
<wsp:Policy>
<wsrmp:ExactlyOnce />
<wsrmp:InOrder />
</wsp:Policy>
</wsrmp:DeliveryAssurance>
</wsrmp:RMAssertion>
</wsp:Policy>
Bean configuration for CXFServlet:
<jaxws:endpoint id='AsyncMessaging'
address='/AsyncMessagingService'
implementor='svc.impl.messaging.AsyncMessagingServiceImpl'>
<jaxws:features>
<p:policies />
</jaxws:features>
</jaxws:endpoint>
The error that occurs is logged as follows:
INFO: Creating Service {http://messaging.cmr/}AsyncMessagingService from
WSDL: WEB-INF/wsdl/AsyncMessaging-WrappedHeader-SOAP11-WSRM10.wsdl
19 Οκτ 2009 4:35:48 μμ org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be /AsyncMessagingService
19 Οκτ 2009 4:35:48 μμ
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
destroySingletons
INFO: Destroying singletons in
org.springframework.beans.factory.support.DefaultListableBeanFactory@210faa:
defining beans
[cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.transport.servlet.ServletTransportFactory,AsyncMessaging];
root of factory hierarchy
19 Οκτ 2009 4:35:48 μμ org.springframework.web.context.ContextLoader
initWebApplicationContext
SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'AsyncMessaging': Invocation of init method failed;
nested exception is javax.xml.ws.WebServiceException:
java.lang.NullPointerException
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1337)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
...
Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:275)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:404)
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:597)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
... 52 more
Caused by: java.lang.NullPointerException
at
org.apache.cxf.ws.policy.WSPolicyFeature.initialize(WSPolicyFeature.java:100)
at
org.apache.cxf.ws.policy.WSPolicyFeature.initializeEndpointPolicy(WSPolicyFeature.java:139)
at
org.apache.cxf.ws.policy.WSPolicyFeature.initialize(WSPolicyFeature.java:122)
at
org.apache.cxf.frontend.ServerFactoryBean.applyFeatures(ServerFactoryBean.java:198)
at
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:150)
at
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
... 61 more
Re: WS-RM on WebLogic 10.3.1
Posted by Alexandros Karypidis <ak...@yahoo.gr>.
Thanks Daniel,
I've found what was wrong. When using CXFServlet, one must import the
CXF schemas in his bean definitions. By changing my beans.xml to the
following, the problem went away:
<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-extension-xml.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-addr.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-jaxws.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-policy.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-rm.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
I was actually using CXF 2.2.3.
Daniel Kulp wrote:
> What version of CXF? If you aren't using 2.2.4, I'd suggest trying that.
>
> With 2.2.x, there is no need to do:
>
>> <jaxws:features>
>> <p:policies />
>> </jaxws:features>
>>
>
> as the engine defaults to on.
>
> Dan
>
>
> On Mon October 19 2009 9:38:59 am Alexandros Karypidis wrote:
>
>> Hi all,
>>
>> I'm trying to publish a WS-RM service on WebLogic 10.3.1. I am using the
>> JAX-WS frontend and CXFServlet. When I enable WS-RM, I get a
>> NullPointerException (see stack trace at end of message) regarding the
>> WS-Policy. I define the policy in the WSDL and enabling the policies
>> features in my Spring bean configuration:
>>
>> WSDL snippet:
>>
>> <service name='AsyncMessagingService'>
>> <wsp:PolicyReference URI="#RM"
>> xmlns:wsp="http://www.w3.org/2006/07/ws-policy" />
>> ...
>> <wsp:Policy wsu:Id="RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy"
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuri
>> ty-utility-1.0.xsd"> <wswa:UsingAddressing
>> xmlns:wswa="http://www.w3.org/2005/02/addressing/wsdl" />
>> <wsrmp:RMAssertion
>> xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
>> <wsrmp:BaseRetransmissionInterval
>> Milliseconds="10000" />
>> <wsrmp:DeliveryAssurance>
>> <wsp:Policy>
>> <wsrmp:ExactlyOnce />
>> <wsrmp:InOrder />
>> </wsp:Policy>
>> </wsrmp:DeliveryAssurance>
>> </wsrmp:RMAssertion>
>> </wsp:Policy>
>>
>> Bean configuration for CXFServlet:
>>
>> <jaxws:endpoint id='AsyncMessaging'
>> address='/AsyncMessagingService'
>> implementor='svc.impl.messaging.AsyncMessagingServiceImpl'>
>> <jaxws:features>
>> <p:policies />
>> </jaxws:features>
>> </jaxws:endpoint>
>>
>> The error that occurs is logged as follows:
>>
>> INFO: Creating Service {http://messaging.cmr/}AsyncMessagingService from
>> WSDL: WEB-INF/wsdl/AsyncMessaging-WrappedHeader-SOAP11-WSRM10.wsdl
>> 19 Οκτ 2009 4:35:48 μμ org.apache.cxf.endpoint.ServerImpl initDestination
>> INFO: Setting the server's publish address to be /AsyncMessagingService
>> 19 Οκτ 2009 4:35:48 μμ
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
>> destroySingletons
>> INFO: Destroying singletons in
>> org.springframework.beans.factory.support.DefaultListableBeanFactory@210faa
>> : defining beans
>> [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.sp
>> ring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250Bean
>> PostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apach
>> e.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.
>> apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.Destinati
>> onFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apach
>> e.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.wor
>> kqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org
>> .apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycle
>> Manager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.trans
>> ports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverReg
>> istry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCata
>> logManager,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apac
>> he.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTran
>> sportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.
>> cxf.transport.servlet.ServletTransportFactory,AsyncMessaging]; root of
>> factory hierarchy
>> 19 Οκτ 2009 4:35:48 μμ org.springframework.web.context.ContextLoader
>> initWebApplicationContext
>> SEVERE: Context initialization failed
>> org.springframework.beans.factory.BeanCreationException: Error creating
>> bean with name 'AsyncMessaging': Invocation of init method failed;
>> nested exception is javax.xml.ws.WebServiceException:
>> java.lang.NullPointerException
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
>> y.initializeBean(AbstractAutowireCapableBeanFactory.java:1337) at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
>> y.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) ...
>>
>> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
>> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:275)
>> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
>> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:404)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
>> 9) at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
>> l.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
>> y.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413) at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
>> y.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374) at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
>> y.initializeBean(AbstractAutowireCapableBeanFactory.java:1334) ... 52 more
>> Caused by: java.lang.NullPointerException
>> at
>> org.apache.cxf.ws.policy.WSPolicyFeature.initialize(WSPolicyFeature.java:10
>> 0) at
>> org.apache.cxf.ws.policy.WSPolicyFeature.initializeEndpointPolicy(WSPolicyF
>> eature.java:139) at
>> org.apache.cxf.ws.policy.WSPolicyFeature.initialize(WSPolicyFeature.java:12
>> 2) at
>> org.apache.cxf.frontend.ServerFactoryBean.applyFeatures(ServerFactoryBean.j
>> ava:198) at
>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:150
>> ) at
>> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.j
>> ava:167) at
>> org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346) at
>> org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259) ... 61
>> more
>>
>>
>
>
Re: WS-RM on WebLogic 10.3.1
Posted by Daniel Kulp <dk...@apache.org>.
What version of CXF? If you aren't using 2.2.4, I'd suggest trying that.
With 2.2.x, there is no need to do:
> <jaxws:features>
> <p:policies />
> </jaxws:features>
as the engine defaults to on.
Dan
On Mon October 19 2009 9:38:59 am Alexandros Karypidis wrote:
> Hi all,
>
> I'm trying to publish a WS-RM service on WebLogic 10.3.1. I am using the
> JAX-WS frontend and CXFServlet. When I enable WS-RM, I get a
> NullPointerException (see stack trace at end of message) regarding the
> WS-Policy. I define the policy in the WSDL and enabling the policies
> features in my Spring bean configuration:
>
> WSDL snippet:
>
> <service name='AsyncMessagingService'>
> <wsp:PolicyReference URI="#RM"
> xmlns:wsp="http://www.w3.org/2006/07/ws-policy" />
> ...
> <wsp:Policy wsu:Id="RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy"
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuri
> ty-utility-1.0.xsd"> <wswa:UsingAddressing
> xmlns:wswa="http://www.w3.org/2005/02/addressing/wsdl" />
> <wsrmp:RMAssertion
> xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
> <wsrmp:BaseRetransmissionInterval
> Milliseconds="10000" />
> <wsrmp:DeliveryAssurance>
> <wsp:Policy>
> <wsrmp:ExactlyOnce />
> <wsrmp:InOrder />
> </wsp:Policy>
> </wsrmp:DeliveryAssurance>
> </wsrmp:RMAssertion>
> </wsp:Policy>
>
> Bean configuration for CXFServlet:
>
> <jaxws:endpoint id='AsyncMessaging'
> address='/AsyncMessagingService'
> implementor='svc.impl.messaging.AsyncMessagingServiceImpl'>
> <jaxws:features>
> <p:policies />
> </jaxws:features>
> </jaxws:endpoint>
>
> The error that occurs is logged as follows:
>
> INFO: Creating Service {http://messaging.cmr/}AsyncMessagingService from
> WSDL: WEB-INF/wsdl/AsyncMessaging-WrappedHeader-SOAP11-WSRM10.wsdl
> 19 Οκτ 2009 4:35:48 μμ org.apache.cxf.endpoint.ServerImpl initDestination
> INFO: Setting the server's publish address to be /AsyncMessagingService
> 19 Οκτ 2009 4:35:48 μμ
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
> destroySingletons
> INFO: Destroying singletons in
> org.springframework.beans.factory.support.DefaultListableBeanFactory@210faa
> : defining beans
> [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.sp
> ring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250Bean
> PostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apach
> e.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.
> apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.Destinati
> onFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apach
> e.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.wor
> kqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org
> .apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycle
> Manager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.trans
> ports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverReg
> istry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCata
> logManager,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apac
> he.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTran
> sportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.
> cxf.transport.servlet.ServletTransportFactory,AsyncMessaging]; root of
> factory hierarchy
> 19 Οκτ 2009 4:35:48 μμ org.springframework.web.context.ContextLoader
> initWebApplicationContext
> SEVERE: Context initialization failed
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'AsyncMessaging': Invocation of init method failed;
> nested exception is javax.xml.ws.WebServiceException:
> java.lang.NullPointerException
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.initializeBean(AbstractAutowireCapableBeanFactory.java:1337) at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) ...
>
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:275)
> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:404)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
> 9) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
> l.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413) at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374) at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor
> y.initializeBean(AbstractAutowireCapableBeanFactory.java:1334) ... 52 more
> Caused by: java.lang.NullPointerException
> at
> org.apache.cxf.ws.policy.WSPolicyFeature.initialize(WSPolicyFeature.java:10
> 0) at
> org.apache.cxf.ws.policy.WSPolicyFeature.initializeEndpointPolicy(WSPolicyF
> eature.java:139) at
> org.apache.cxf.ws.policy.WSPolicyFeature.initialize(WSPolicyFeature.java:12
> 2) at
> org.apache.cxf.frontend.ServerFactoryBean.applyFeatures(ServerFactoryBean.j
> ava:198) at
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:150
> ) at
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.j
> ava:167) at
> org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346) at
> org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259) ... 61
> more
>
--
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog