You likely need to add:

<import resource="classpath:META-INF/cxf/cxf-extension-ws-security.xml" />

to pull in the Security related policies.

Or the suggested alternative: upgrade to CXF 2.4.0 and remove all the imports 
except the "cxf.xml" one. 

Dan



On Thursday, April 28, 2011 12:22:54 PM Darrin Thompson wrote:
> When trying create a jaxws:endpoint referencing a wsdl file with
> policy I'm getting this series of messages:
> 
> INFO: Creating Service
> {http://wstest4.visionsolutions.com/}DoMathImplService from class
> blah.DoMath
> Apr 28, 2011 12:09:55 PM org.apache.cxf.endpoint.ServerImpl initDestination
> INFO: Setting the server's publish address to be /DoMath
> Apr 28, 2011 12:09:55 PM
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> buildServiceFromWSDL
> INFO: Creating Service {http://wstest4.visionsolutions.com/}MySvc from
> WSDL: classpath:wsdl/mysvc_xl/MySvc.wsdl
> Apr 28, 2011 12:09:55 PM
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory
> createEndpoint
> WARNING: Could not find endpoint/port for
> {http://wstest4.visionsolutions.com/}XLMathPort in wsdl. Using
> {http://blah/}WSHttpBinding_MySvc.
> Apr 28, 2011 12:09:55 PM
> org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl build
> WARNING: No assertion builder for type
> {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}SymmetricBinding
> registered.
> Apr 28, 2011 12:09:55 PM
> org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl build
> WARNING: No assertion builder for type
> {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}SignedSupportingToken
> s registered.
> Apr 28, 2011 12:09:55 PM
> org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl build
> WARNING: No assertion builder for type
> {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}Wss11
> registered.
> Apr 28, 2011 12:09:55 PM
> org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl build
> WARNING: No assertion builder for type
> {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}Trust10
> registered.
> Apr 28, 2011 12:09:55 PM
> org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl build
> WARNING: No assertion builder for type
> {http://www.w3.org/2006/05/addressing/wsdl}UsingAddressing registered.
> Apr 28, 2011 12:09:55 PM org.apache.cxf.endpoint.ServerImpl initDestination
> INFO: Setting the server's publish address to be /DoXLMath
> 
> Later, when I attempt to access the service I see these messages:
> 
> WARNING: No assertion builder for type
> {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}SignedParts
> registered.
> Apr 28, 2011 12:10:22 PM
> org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl build
> WARNING: No assertion builder for type
> {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}EncryptedParts
> registered.
> Apr 28, 2011 12:10:22 PM org.apache.cxf.phase.PhaseInterceptorChain
> doDefaultLogging
> WARNING: Interceptor for {http://wstest4.visionsolutions.com/}MySvc
> has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: None of the policy alternatives can
> be satisfied.
>       at
> org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractP
> olicyInterceptor.java:47) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCha
> in.java:255) at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiation
> Observer.java:113) at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestinat
> ion.java:105) at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servl
> etController.java:461) ....
> 
> The service is configured with CXFServlet in tomcat and configured
> with spring. Here are some snips from applicationContext.xml:
> 
>       <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-http-binding.xml"
> /> <import resource="classpath:META-INF/cxf/cxf-extension-policy.xml" />
> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> 
>       <cxf:bus>
>               <cxf:features>
>                       <p:policies ignoreUnknownAssertions="true" />
>               </cxf:features>
>       </cxf:bus>
> 
> 
>       <jaxws:endpoint id="blah.XLMath"
>               bindingUri="http://schemas.xmlsoap.org/wsdl/soap12/";
> implementor="blah.XLMath"
> wsdlLocation="classpath:wsdl/mysvc_xl/MySvc.wsdl" serviceName="wst4:MySvc"
> address="/DoXLMath">
>               <jaxws:properties>
>                       <entry key="ws-security.callback-handler">
>                               <ref bean="blah.CredentialStore" />
>                       </entry>
>                       <entry key="ws-security.signature.properties"
> value="classpath:ws-security/server-keystore.properties" />
>                       <entry key="ws-security.encryption.properties"
> value="classpath:ws-security/server-keystore.properties" />
>                       <entry key="ws-security.encryption.username" 
value="useReqSigCert" />
>               </jaxws:properties>
>       </jaxws:endpoint>
> 
> The WSDL policy was original generated by .NET 3.5 and may have been
> passed through Metro.
> 
> Google has been no help with this situation. Where should I look next?
> 
> --
> Darrin

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

Reply via email to