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