You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by "Morein, Arnie" <Ar...@dps.texas.gov> on 2017/02/15 22:29:05 UTC

Problem calling WCF MS service with security

I have to consume a web service that was written in .Net and requires the security policies listed below. We develop in Java to a WAR. I created a separate project for the WSDL's Java stubs using Maven's cxf-codegen-plugin (3.1.10). It was added to the main WAR project and compiles fine. But during initial access to the service, a CXF error occurs.

The manual which came with the WSDL had the following to say about the security features in use:


Transport Layer Security

Third party X.509 certificate and Tokens
Client X.509 certificate

We received a file from the vendor which was converted into a JKS. It has two trustedCertEntry entries and one private key of X.509 type.

As I understand the manual, the service does not use the user name/password type of WS security. All traffic goes over HTTPS of course, and the certificate is supposed to be used to encrypt the message content both coming and going.

I have tried to configure the necessary values for CXF to work but always get the same error:

Caused by: org.apache.cxf.ws.policy.PolicyException: Security configuration could not be detected. Potential cause: Make sure jaxws:client element with name attribute value matching endpoint port is defined as well as a security.signature.properties element within it.

I have tried setting the necessary (AFAIK) properties via API and Spring XML configuration to no avail.

I would greatly appreciate some guidance as to what CXF is looking for (and where the file is supposed to be if configuration). Currently I have the client-crypto.properties file under /WEB-INF/cxf along with the jks file. Its contents:

org.apache.ws.security.crypto.merlin.keystore.file=/WEB-INF/cxf/dlsKeystore.jks
org.apache.ws.security.crypto.merlin.keystore.type=JKS
org.apache.ws.security.crypto.merlin.keystore.alias=1
org.apache.ws.security.crypto.merlin.keystore.password=****
org.apache.ws.security.crypto.merlin.keystore.private.password=****
org.apache.ws.security.crypto.merlin.truststore.file=/WEB-INF/cxf/dlsKeystore.jks
org.apache.ws.security.crypto.merlin.truststore.type=JKS
org.apache.ws.security.crypto.merlin.truststore.password=****

Things I have tried setting via API:

// set up ws-security
/*HashMap<String, Object> crytoProperties = new HashMap<String, Object>();
crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.file", KEYSTORE_FILE);
crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.type", "JKS");
crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.alias", KEYSTORE_KEY_ALIAS);
crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.password", KEYSTORE_PASSWORD);
crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.private.password", KEYSTORE_KEY_PASSWORD);

crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.file", KEYSTORE_FILE);
crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.type", "JKS");
crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.password", KEYSTORE_PASSWORD);
crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.alias", KEYSTORE_KEY_ALIAS);

Map<String, Object> ctx = ((BindingProvider) port).getRequestContext();
ctx.putAll(crytoProperties);*/

// activate ws-security
/*org.apache.cxf.endpoint.Client client = (org.apache.cxf.endpoint.Client) port;
org.apache.cxf.endpoint.Endpoint endpoint = client.getEndpoint();*/

// add intercepters
/*HashMap<String, Object> inProps = new HashMap<String, Object>();
inProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS);
inProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS);
inProps.put(WSHandlerConstants.SIG_PROP_FILE, WSS4J_PROPERTIES);
inProps.put(WSHandlerConstants.ENC_PROP_FILE, WSS4J_PROPERTIES);

endpoint.getInInterceptors().add(new WSS4JOutInterceptor(inProps));
endpoint.getInInterceptors().add(new LoggingInInterceptor());

HashMap<String, Object> outProps = new HashMap<String, Object>();
outProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS);
outProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS);
outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
       + " " +  WSHandlerConstants.SIGNATURE + " " +  WSHandlerConstants.ENCRYPT);
outProps.put(WSHandlerConstants.SIG_PROP_FILE, WSS4J_PROPERTIES);
outProps.put(WSHandlerConstants.ENC_PROP_FILE, WSS4J_PROPERTIES);

outProps.put(WSHandlerConstants.PW_CALLBACK_REF, "txdps.dl.bpr.common.business.VlsCxfKeystorePasswordCallback");

endpoint.getOutInterceptors().add(new WSS4JOutInterceptor(outProps));
endpoint.getOutInterceptors().add(new LoggingOutInterceptor());*/

// set options
/*HTTPConduit httpConduit = (HTTPConduit) ClientProxy.getClient(port).getConduit();
final HTTPClientPolicy httpClientPolicy = httpConduit.getClient();
httpClientPolicy.setAllowChunking(false); // MS does not support
httpClientPolicy.setAutoRedirect(true); // hopefully
httpClientPolicy.setConnection(ConnectionType.KEEP_ALIVE); // maybe

TLSClientParameters tlsCP = new TLSClientParameters();
String keyPassword = KEYSTORE_PASSWORD;
KeyStore keyStore = KeyStore.getInstance("JKS");
Resource aamvaJks = applicationContext.getResource(KEYSTORE_FILE);

keyStore.load(aamvaJks.getInputStream(), KEYSTORE_PASSWORD.toCharArray());
KeyManager[] myKeyManagers = getKeyManagers(keyStore, keyPassword);
tlsCP.setKeyManagers(myKeyManagers);

KeyStore trustStore = KeyStore.getInstance("JKS");
aamvaJks = applicationContext.getResource(KEYSTORE_FILE);
trustStore.load(aamvaJks.getInputStream(), KEYSTORE_PASSWORD.toCharArray());
TrustManager[] myTrustStoreKeyManagers = getTrustManagers(trustStore);
tlsCP.setTrustManagers(myTrustStoreKeyManagers);
httpConduit.setTlsClientParameters(tlsCP);*/

Things I have tried setting via configuration (there are actually two WSDLs compiled into one external jar).

    <!-- ********************************************************* -->
    <!-- * Configure the CXF Bus * -->
    <!-- ********************************************************* -->
    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <cxf:bus>
        <cxf:features>
            <p:policies />
            <cxf:logging />
        </cxf:features>
    </cxf:bus>
    <jaxws:client id="aamva-authentication"
        name="{http://aamva.org/authentication/3.1.0}AuthenticationService"
        createdFromAPI="true"
    >
        <jaxws:properties>
            <entry
                key="ws-security.signature.properties"
                value="/WEB-INF/cxf/client-crypto.properties" />
            <entry
                key="ws-security.encryption.properties"
                value="/WEB-INF/cxf/client-crypto.properties" />
        </jaxws:properties>
    </jaxws:client>
    <jaxws:client id="aamva-vls3"
        name="{http://uscis.gov/uscis/services/esb/vls/3.0}VerificationOfLawfulStatusService30"
        createdFromAPI="true"
    >
        <jaxws:properties>
            <entry
                key="ws-security.signature.properties"
                value="/WEB-INF/cxf/client-crypto.properties" />
            <entry
                key="ws-security.encryption.properties"
                value="/WEB-INF/cxf/client-crypto.properties" />
        </jaxws:properties>
    </jaxws:client>

WSDL policies:

    <wsp:Policy wsu:Id="wsHttpEndPoint_policy">
        <wsp:ExactlyOne>
            <wsp:All>
                <sp:TransportBinding
                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
                >
                    <wsp:Policy>
                        <sp:TransportToken>
                            <wsp:Policy>
                                <sp:HttpsToken
                                    RequireClientCertificate="false" />
                            </wsp:Policy>
                        </sp:TransportToken>
                        <sp:AlgorithmSuite>
                            <wsp:Policy>
                                <sp:Basic256 />
                            </wsp:Policy>
                        </sp:AlgorithmSuite>
                        <sp:Layout>
                            <wsp:Policy>
                                <sp:Strict />
                            </wsp:Policy>
                        </sp:Layout>
                        <sp:IncludeTimestamp />
                    </wsp:Policy>
                </sp:TransportBinding>
                <sp:EndorsingSupportingTokens
                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
                >
                    <wsp:Policy>
                        <sp:SecureConversationToken
                            sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"
                        >
                            <wsp:Policy>
                                <sp:BootstrapPolicy>
                                    <wsp:Policy>
                                        <sp:SignedParts>
                                            <sp:Body />
                                            <sp:Header
                                                Name="To"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="From"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="FaultTo"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="ReplyTo"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="MessageID"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="RelatesTo"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="Action"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                        </sp:SignedParts>
                                        <sp:EncryptedParts>
                                            <sp:Body />
                                        </sp:EncryptedParts>
                                        <sp:TransportBinding>
                                            <wsp:Policy>
                                                <sp:TransportToken>
                                                    <wsp:Policy>
                                                        <sp:HttpsToken
                                                            RequireClientCertificate="false" />
                                                    </wsp:Policy>
                                                </sp:TransportToken>
                                                <sp:AlgorithmSuite>
                                                    <wsp:Policy>
                                                        <sp:Basic256 />
                                                    </wsp:Policy>
                                                </sp:AlgorithmSuite>
                                                <sp:Layout>
                                                    <wsp:Policy>
                                                        <sp:Strict />
                                                    </wsp:Policy>
                                                </sp:Layout>
                                                <sp:IncludeTimestamp />
                                            </wsp:Policy>
                                        </sp:TransportBinding>
                                        <sp:EndorsingSupportingTokens>
                                            <wsp:Policy>
                                                <sp:X509Token
                                                    sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"
                                                >
                                                    <wsp:Policy>
                                                        <sp:RequireThumbprintReference />
                                                        <sp:WssX509V3Token10 />
                                                    </wsp:Policy>
                                                </sp:X509Token>
                                                <sp:SignedParts>
                                                    <sp:Header
                                                        Name="To"
                                                        Namespace="http://www.w3.org/2005/08/addressing" />
                                                </sp:SignedParts>
                                            </wsp:Policy>
                                        </sp:EndorsingSupportingTokens>
                                        <sp:Wss11>
                                            <wsp:Policy>
                                                <sp:MustSupportRefThumbprint />
                                            </wsp:Policy>
                                        </sp:Wss11>
                                        <sp:Trust10>
                                            <wsp:Policy>
                                                <sp:MustSupportIssuedTokens />
                                                <sp:RequireClientEntropy />
                                                <sp:RequireServerEntropy />
                                            </wsp:Policy>
                                        </sp:Trust10>
                                    </wsp:Policy>
                                </sp:BootstrapPolicy>
                            </wsp:Policy>
                        </sp:SecureConversationToken>
                    </wsp:Policy>
                </sp:EndorsingSupportingTokens>
                <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                    <wsp:Policy />
                </sp:Wss11>
                <sp:Trust10
                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
                >
                    <wsp:Policy>
                        <sp:MustSupportIssuedTokens />
                        <sp:RequireClientEntropy />
                        <sp:RequireServerEntropy />
                    </wsp:Policy>
                </sp:Trust10>
                <wsaw:UsingAddressing />
            </wsp:All>
        </wsp:ExactlyOne>
    </wsp:Policy>



RE: Problem calling WCF MS service with security

Posted by "Morein, Arnie" <Ar...@dps.texas.gov>.
I put the client-crypto.properties and jsk files in /WEB-INF/classes, and updated the security.signature.properties in the XML file to point to /WEB-INF/classes/xyz as appropriate.

CXF still cannot find it.

So I moved the client-crypto.properties, jks and new cxf.xml file to the jar project where the stubs are generated and compiled, into the /META-INF/cxf folder; updating all the tags.

Now the exceptions returned are:

Feb16 11:18:48.127 WARN [PhaseInterceptorChain         ][::] - Interceptor for {http://schemas.xmlsoap.org/ws/2005/02/trust/wsdl}SecurityTokenService#{http://schemas.xmlsoap.org/ws/2005/02/trust/wsdl}RequestSecurityToken has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Security configuration could not be detected. Potential cause: Make sure jaxws:client element with name attribute value matching endpoint port is defined as well as a security.signature.properties element within it.
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleBinding(TransportBindingHandler.java:172) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal.handleMessageInternal(PolicyBasedWSS4JOutInterceptor.java:185) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal.handleMessage(PolicyBasedWSS4JOutInterceptor.java:109) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal.handleMessage(PolicyBasedWSS4JOutInterceptor.java:96) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.trust.AbstractSTSClient.issue(AbstractSTSClient.java:861) [cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:61) [cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:55) [cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:51) [cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.policy.interceptors.SecureConversationOutInterceptor.issueToken(SecureConversationOutInterceptor.java:198) [cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.policy.interceptors.SecureConversationOutInterceptor.handleMessage(SecureConversationOutInterceptor.java:81) [cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.policy.interceptors.SecureConversationOutInterceptor.handleMessage(SecureConversationOutInterceptor.java:50) [cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) [cxf-rt-frontend-simple-3.1.10.jar:3.1.10]
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139) [cxf-rt-frontend-jaxws-3.1.10.jar:3.1.10]
	at com.sun.proxy.$Proxy56.authenticate(Unknown Source) [na:na]
	at txdps.dl.bpr.common.business.VlsBusiness.postConstruct(VlsBusiness.java:178) [VlsBusiness.class:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_40]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_40]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_40]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1546) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1487) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1419) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:518) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1354) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:677) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:518) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:319) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:185) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:833) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1073) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1354) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:677) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:518) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:319) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:185) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:833) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:551) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1073) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) [org.springframework.context-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) [org.springframework.context-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282) [org.springframework.web-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204) [org.springframework.web-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) [org.springframework.web-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at txdps.dl.bpr.common.servlet.listener.DLRContextListener.contextInitialized(DLRContextListener.java:29) [DLRContextListener.class:na]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4720) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) [catalina.jar:8.0.18]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) [catalina.jar:8.0.18]
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:917) [catalina.jar:8.0.18]
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:461) [catalina.jar:8.0.18]
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1493) [catalina.jar:8.0.18]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_40]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_40]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_40]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.0.18]
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.8.0_40]
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.8.0_40]
	at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1460) [catalina.jar:8.0.18]
	at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:733) [catalina.jar:8.0.18]
	at org.apache.catalina.manager.ManagerServlet.doPut(ManagerServlet.java:432) [catalina.jar:8.0.18]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) [servlet-api.jar:na]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) [servlet-api.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.18]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.18]
	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.18]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) [catalina.jar:8.0.18]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.18]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.18]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) [catalina.jar:8.0.18]
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) [tomcat-coyote.jar:8.0.18]
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) [tomcat-coyote.jar:8.0.18]
	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) [tomcat-coyote.jar:8.0.18]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558) [tomcat-coyote.jar:8.0.18]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515) [tomcat-coyote.jar:8.0.18]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_40]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_40]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.18]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
Caused by: org.apache.cxf.ws.policy.PolicyException: Security configuration could not be detected. Potential cause: Make sure jaxws:client element with name attribute value matching endpoint port is defined as well as a security.signature.properties element within it.
	at org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractCommonBindingHandler.unassertPolicy(AbstractCommonBindingHandler.java:92) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder.getSignatureBuilder(AbstractBindingBuilder.java:1821) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.doX509TokenSignature(TransportBindingHandler.java:388) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleEndorsingToken(TransportBindingHandler.java:319) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleEndorsingSupportingTokens(TransportBindingHandler.java:269) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleBinding(TransportBindingHandler.java:159) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	... 270 common frames omitted
Feb16 11:18:48.180 WARN [PhaseInterceptorChain         ][::] - Interceptor for {http://aamva.org/authentication/3.1.0}AuthenticationService#{http://aamva.org/authentication/3.1.0}Authenticate has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Security configuration could not be detected. Potential cause: Make sure jaxws:client element with name attribute value matching endpoint port is defined as well as a security.signature.properties element within it.
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleBinding(TransportBindingHandler.java:172) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal.handleMessageInternal(PolicyBasedWSS4JOutInterceptor.java:185) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal.handleMessage(PolicyBasedWSS4JOutInterceptor.java:109) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal.handleMessage(PolicyBasedWSS4JOutInterceptor.java:96) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.trust.AbstractSTSClient.issue(AbstractSTSClient.java:861) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:61) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:55) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:51) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.policy.interceptors.SecureConversationOutInterceptor.issueToken(SecureConversationOutInterceptor.java:198) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.policy.interceptors.SecureConversationOutInterceptor.handleMessage(SecureConversationOutInterceptor.java:81) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.policy.interceptors.SecureConversationOutInterceptor.handleMessage(SecureConversationOutInterceptor.java:50) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) [cxf-core-3.1.10.jar:3.1.10]
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) [cxf-rt-frontend-simple-3.1.10.jar:3.1.10]
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139) [cxf-rt-frontend-jaxws-3.1.10.jar:3.1.10]
	at com.sun.proxy.$Proxy56.authenticate(Unknown Source) [na:na]
	at txdps.dl.bpr.common.business.VlsBusiness.postConstruct(VlsBusiness.java:178) [VlsBusiness.class:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_40]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_40]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_40]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1546) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1487) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1419) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:518) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1354) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:677) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:518) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:319) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:185) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:833) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1073) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1354) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:677) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:518) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:319) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:185) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:833) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:551) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1073) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) [org.springframework.beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) [org.springframework.context-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) [org.springframework.context-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282) [org.springframework.web-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204) [org.springframework.web-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) [org.springframework.web-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at txdps.dl.bpr.common.servlet.listener.DLRContextListener.contextInitialized(DLRContextListener.java:29) [DLRContextListener.class:na]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4720) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) [catalina.jar:8.0.18]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) [catalina.jar:8.0.18]
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:917) [catalina.jar:8.0.18]
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:461) [catalina.jar:8.0.18]
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1493) [catalina.jar:8.0.18]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_40]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_40]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_40]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.0.18]
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.8.0_40]
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.8.0_40]
	at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1460) [catalina.jar:8.0.18]
	at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:733) [catalina.jar:8.0.18]
	at org.apache.catalina.manager.ManagerServlet.doPut(ManagerServlet.java:432) [catalina.jar:8.0.18]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) [servlet-api.jar:na]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) [servlet-api.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.18]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.18]
	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.18]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.18]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) [catalina.jar:8.0.18]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.18]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) [catalina.jar:8.0.18]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.18]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) [catalina.jar:8.0.18]
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) [tomcat-coyote.jar:8.0.18]
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) [tomcat-coyote.jar:8.0.18]
	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) [tomcat-coyote.jar:8.0.18]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558) [tomcat-coyote.jar:8.0.18]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515) [tomcat-coyote.jar:8.0.18]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_40]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_40]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.18]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
Caused by: org.apache.cxf.ws.policy.PolicyException: Security configuration could not be detected. Potential cause: Make sure jaxws:client element with name attribute value matching endpoint port is defined as well as a security.signature.properties element within it.
	at org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractCommonBindingHandler.unassertPolicy(AbstractCommonBindingHandler.java:92) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder.getSignatureBuilder(AbstractBindingBuilder.java:1821) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.doX509TokenSignature(TransportBindingHandler.java:388) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleEndorsingToken(TransportBindingHandler.java:319) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleEndorsingSupportingTokens(TransportBindingHandler.java:269) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]
	at org.apache.cxf.ws.security.wss4j.policyhandlers.TransportBindingHandler.handleBinding(TransportBindingHandler.java:159) ~[cxf-rt-ws-security-3.1.10.jar:3.1.10]

The external jar's configuration file Ws-dls-vls3-cxf.jar/META-INF/cxf/cxf.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<!-- - Application context definition for DLR application&apos;s data access layer. 
    - Accessed by business layer objects defined in "dlrApplicationContext.xml" - (see 
    web.xml&apos;s "contextConfigLocation"). - - This version of the data access layer 
    works on a combined database, - using a local DataSource with DataSourceTransactionManager. 
    It does not - need any JTA support in the container: It will run as-is in plain Tomcat. -->
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:cxf="http://cxf.apache.org/core"
    xmlns:jaxws="http://cxf.apache.org/jaxws"
    xmlns:p="http://cxf.apache.org/policy"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd 
    http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
    http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd" 
>
    <!-- ********************************************************* -->
    <!-- * Configure the CXF Bus -->
    <!-- ********************************************************* -->
    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <cxf:bus>
        <cxf:features>
            <p:policies />
            <cxf:logging />
        </cxf:features>
    </cxf:bus>
    <jaxws:client id="aamva-security-token-service"
        name="{http://schemas.xmlsoap.org/ws/2005/02/trust/wsdl}SecurityTokenService"
        createdFromAPI="true" 
    >
        <jaxws:properties>
            <entry
                key="ws-security.signature.properties"
                value="/META-INF/cxf/client-crypto.properties" />
            <entry
                key="ws-security.encryption.properties"
                value="/META-INF/cxf/client-crypto.properties" />
        </jaxws:properties>
    </jaxws:client>

    <jaxws:client id="aamva-authentication"
        name="{http://aamva.org/authentication/3.1.0}AuthenticationService"
        createdFromAPI="true" 
    >
        <jaxws:properties>
            <entry
                key="ws-security.signature.properties"
                value="/META-INF/cxf/client-crypto.properties" />
            <entry
                key="ws-security.encryption.properties"
                value="/META-INF/cxf/client-crypto.properties" />
        </jaxws:properties>
    </jaxws:client>

    <jaxws:client id="aamva-vls3"
        name="{http://uscis.gov/uscis/services/esb/vls/3.0}VerificationOfLawfulStatusService30"
        createdFromAPI="true" 
    >
        <jaxws:properties>
            <entry
                key="ws-security.signature.properties"
                value="/META-INF/cxf/client-crypto.properties" />
            <entry
                key="ws-security.encryption.properties"
                value="/META-INF/cxf/client-crypto.properties" />
        </jaxws:properties>
    </jaxws:client>

</beans>

RE: [EXTERNAL] Re: Problem calling WCF MS service with security

Posted by "Morein, Arnie" <Ar...@dps.texas.gov>.
Well, I looked in the WSDL and found:

<wsdl:port
            name="wsHttpEndPoint"
            binding="tns:wsHttpEndPoint"

at the bottom for the authentication service which I updated to:

    <jaxws:client id="aamva-authentication"
        name="{http://aamva.org/authentication/3.1.0}wsHttpEndPoint"
        createdFromAPI="true" 
    >

So I changed it. But still getting the same errors:

Feb16 12:20:16.425 WARN [PhaseInterceptorChain         ][::] - Interceptor for {http://schemas.xmlsoap.org/ws/2005/02/trust/wsdl}SecurityTokenService#{http://schemas.xmlsoap.org/ws/2005/02/trust/wsdl}RequestSecurityToken has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Security configuration could not be detected. Potential cause: Make sure jaxws:client element with name attribute value matching endpoint port is defined as well as a security.signature.properties element within it.
...
Feb16 12:20:16.476 WARN [PhaseInterceptorChain         ][::] - Interceptor for {http://aamva.org/authentication/3.1.0}AuthenticationService#{http://aamva.org/authentication/3.1.0}Authenticate has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Security configuration could not be detected. Potential cause: Make sure jaxws:client element with name attribute value matching endpoint port is defined as well as a security.signature.properties element within it.

Even after setting up a client for the SecurityTokenService:

    <jaxws:client id="aamva-security-token-service"
        name="{http://schemas.xmlsoap.org/ws/2005/02/trust/wsdl}SecurityTokenService"
        createdFromAPI="true" 
    >
        <jaxws:properties>
            <entry
                key="ws-security.signature.properties"
                value="/META-INF/cxf/client-crypto.properties" />
            <entry
                key="ws-security.encryption.properties"
                value="/META-INF/cxf/client-crypto.properties" />
        </jaxws:properties>
    </jaxws:client>

That URL to the WSDL isn't valid any more so I'm not sure what the port name should actually be. 

Nor do I understand why this is necessary. I thought this stuff was supposed to be automatic?

-----Original Message-----
From: Colm O hEigeartaigh [mailto:coheigea@apache.org] 
Sent: Thursday, February 16, 2017 10:46 AM
To: users@cxf.apache.org
Subject: [EXTERNAL] Re: Problem calling WCF MS service with security

Answer inline.

On Thu, Feb 16, 2017 at 2:02 PM, Morein, Arnie <Ar...@dps.texas.gov>
wrote:

> And that is part of the confusion. What is meant by PORT NAME?
>

The Port name in the WSDL. For example, from the ws-security-examples, system tests:

 <jaxws:client name="{
http://www.example.org/contract/DoubleIt}DoubleItPlaintextPort"
createdFromAPI="true">

matches the WSDL port:

<wsdl:port name="DoubleItPlaintextPort"
binding="tns:DoubleItPlaintextBinding">

You can use wildcards as well I believe to match multiple ports.

Colm.


>
> The Interface? I have tried:
>
> { http://aamva.org/authentication/3.1.0} IAuthenticationService
>
> And  the implementation (extends Service):
>
> { http://aamva.org/authentication/3.1.0} AuthenticationService
>
> Neither matches. What else could it be?
>
> I CERTAINLY hope that these jaxws:client constructs are NOT supposed 
> to be every METHOD in the server?!
>
> -----Original Message-----
> From: Morein, Arnie [mailto:Arnold.Morein@dps.texas.gov]
> Sent: Wednesday, February 15, 2017 4:29 PM
> To: users@cxf.apache.org
> Subject: [EXTERNAL] Problem calling WCF MS service with security
>
> I have to consume a web service that was written in .Net and requires 
> the security policies listed below. We develop in Java to a WAR. I 
> created a separate project for the WSDL's Java stubs using Maven's 
> cxf-codegen-plugin (3.1.10). It was added to the main WAR project and 
> compiles fine. But during initial access to the service, a CXF error occurs.
>
> The manual which came with the WSDL had the following to say about the 
> security features in use:
>
>
> Transport Layer Security
>
> Third party X.509 certificate and Tokens Client X.509 certificate
>
> We received a file from the vendor which was converted into a JKS. It 
> has two trustedCertEntry entries and one private key of X.509 type.
>
> As I understand the manual, the service does not use the user 
> name/password type of WS security. All traffic goes over HTTPS of 
> course, and the certificate is supposed to be used to encrypt the 
> message content both coming and going.
>
> I have tried to configure the necessary values for CXF to work but 
> always get the same error:
>
> Caused by: org.apache.cxf.ws.policy.PolicyException: Security 
> configuration could not be detected. Potential cause: Make sure 
> jaxws:client element with name attribute value matching endpoint port 
> is defined as well as a security.signature.properties element within it.
>
> I have tried setting the necessary (AFAIK) properties via API and 
> Spring XML configuration to no avail.
>
> I would greatly appreciate some guidance as to what CXF is looking for 
> (and where the file is supposed to be if configuration). Currently I 
> have the client-crypto.properties file under /WEB-INF/cxf along with 
> the jks file. Its contents:
>
> org.apache.ws.security.crypto.merlin.keystore.file=/WEB-INF/
> cxf/dlsKeystore.jks
> org.apache.ws.security.crypto.merlin.keystore.type=JKS
> org.apache.ws.security.crypto.merlin.keystore.alias=1
> org.apache.ws.security.crypto.merlin.keystore.password=****
> org.apache.ws.security.crypto.merlin.keystore.private.password=****
> org.apache.ws.security.crypto.merlin.truststore.file=/WEB-
> INF/cxf/dlsKeystore.jks
> org.apache.ws.security.crypto.merlin.truststore.type=JKS
> org.apache.ws.security.crypto.merlin.truststore.password=****
>
> Things I have tried setting via API:
>
> // set up ws-security
> /*HashMap<String, Object> crytoProperties = new HashMap<String, 
> Object>(); 
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.fil
> e", KEYSTORE_FILE); 
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.typ
> e", "JKS"); 
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.ali
> as", KEYSTORE_KEY_ALIAS); 
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.pas
> sword", KEYSTORE_PASSWORD); 
> crytoProperties.put("org.apache.ws.security.crypto.
> merlin.keystore.private.password", KEYSTORE_KEY_PASSWORD);
>
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.f
> ile", KEYSTORE_FILE); 
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.t
> ype", "JKS"); 
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.p
> assword", KEYSTORE_PASSWORD); 
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.a
> lias",
> KEYSTORE_KEY_ALIAS);
>
> Map<String, Object> ctx = ((BindingProvider) 
> port).getRequestContext(); ctx.putAll(crytoProperties);*/
>
> // activate ws-security
> /*org.apache.cxf.endpoint.Client client = 
> (org.apache.cxf.endpoint.Client) port; 
> org.apache.cxf.endpoint.Endpoint endpoint = client.getEndpoint();*/
>
> // add intercepters
> /*HashMap<String, Object> inProps = new HashMap<String, Object>(); 
> inProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS); 
> inProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS); 
> inProps.put(WSHandlerConstants.SIG_PROP_FILE, WSS4J_PROPERTIES); 
> inProps.put(WSHandlerConstants.ENC_PROP_FILE, WSS4J_PROPERTIES);
>
> endpoint.getInInterceptors().add(new WSS4JOutInterceptor(inProps)); 
> endpoint.getInInterceptors().add(new LoggingInInterceptor());
>
> HashMap<String, Object> outProps = new HashMap<String, Object>(); 
> outProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS); 
> outProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS); 
> outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
>        + " " +  WSHandlerConstants.SIGNATURE + " " + 
> WSHandlerConstants.ENCRYPT); 
> outProps.put(WSHandlerConstants.SIG_PROP_FILE,
> WSS4J_PROPERTIES); outProps.put(WSHandlerConstants.ENC_PROP_FILE,
> WSS4J_PROPERTIES);
>
> outProps.put(WSHandlerConstants.PW_CALLBACK_REF,
> "txdps.dl.bpr.common.business.VlsCxfKeystorePasswordCallback");
>
> endpoint.getOutInterceptors().add(new WSS4JOutInterceptor(outProps)); 
> endpoint.getOutInterceptors().add(new LoggingOutInterceptor());*/
>
> // set options
> /*HTTPConduit httpConduit = (HTTPConduit) ClientProxy.getClient(port).
> getConduit();
> final HTTPClientPolicy httpClientPolicy = httpConduit.getClient(); 
> httpClientPolicy.setAllowChunking(false); // MS does not support 
> httpClientPolicy.setAutoRedirect(true); // hopefully httpClientPolicy.
> setConnection(ConnectionType.KEEP_ALIVE); // maybe
>
> TLSClientParameters tlsCP = new TLSClientParameters(); String 
> keyPassword = KEYSTORE_PASSWORD; KeyStore keyStore = 
> KeyStore.getInstance("JKS"); Resource aamvaJks = 
> applicationContext.getResource(KEYSTORE_FILE);
>
> keyStore.load(aamvaJks.getInputStream(), 
> KEYSTORE_PASSWORD.toCharArray()); KeyManager[] myKeyManagers = 
> getKeyManagers(keyStore, keyPassword); 
> tlsCP.setKeyManagers(myKeyManagers);
>
> KeyStore trustStore = KeyStore.getInstance("JKS"); aamvaJks = 
> applicationContext.getResource(KEYSTORE_FILE);
> trustStore.load(aamvaJks.getInputStream(), 
> KEYSTORE_PASSWORD.toCharArray()); TrustManager[] 
> myTrustStoreKeyManagers = getTrustManagers(trustStore); 
> tlsCP.setTrustManagers(myTrustStoreKeyManagers);
> httpConduit.setTlsClientParameters(tlsCP);*/
>
> Things I have tried setting via configuration (there are actually two 
> WSDLs compiled into one external jar).
>
>     <!-- ********************************************************* -->
>     <!-- * Configure the CXF Bus * -->
>     <!-- ********************************************************* -->
>     <import resource="classpath:META-INF/cxf/cxf.xml" />
>     <cxf:bus>
>         <cxf:features>
>             <p:policies />
>             <cxf:logging />
>         </cxf:features>
>     </cxf:bus>
>     <jaxws:client id="aamva-authentication"
>         
> name="{http://aamva.org/authentication/3.1.0}AuthenticationService
> "
>         createdFromAPI="true"
>     >
>         <jaxws:properties>
>             <entry
>                 key="ws-security.signature.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>             <entry
>                 key="ws-security.encryption.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>         </jaxws:properties>
>     </jaxws:client>
>     <jaxws:client id="aamva-vls3"
>         name="{http://uscis.gov/uscis/services/esb/vls/3.0}
> VerificationOfLawfulStatusService30"
>         createdFromAPI="true"
>     >
>         <jaxws:properties>
>             <entry
>                 key="ws-security.signature.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>             <entry
>                 key="ws-security.encryption.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>         </jaxws:properties>
>     </jaxws:client>
>
> WSDL policies:
>
>     <wsp:Policy wsu:Id="wsHttpEndPoint_policy">
>         <wsp:ExactlyOne>
>             <wsp:All>
>                 <sp:TransportBinding
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:TransportToken>
>                             <wsp:Policy>
>                                 <sp:HttpsToken
>                                     RequireClientCertificate="false" />
>                             </wsp:Policy>
>                         </sp:TransportToken>
>                         <sp:AlgorithmSuite>
>                             <wsp:Policy>
>                                 <sp:Basic256 />
>                             </wsp:Policy>
>                         </sp:AlgorithmSuite>
>                         <sp:Layout>
>                             <wsp:Policy>
>                                 <sp:Strict />
>                             </wsp:Policy>
>                         </sp:Layout>
>                         <sp:IncludeTimestamp />
>                     </wsp:Policy>
>                 </sp:TransportBinding>
>                 <sp:EndorsingSupportingTokens
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:SecureConversationToken
>                             sp:IncludeToken="http:// 
> schemas.xmlsoap.org/ws/2005/07/securitypolicy/
> IncludeToken/AlwaysToRecipient"
>                         >
>                             <wsp:Policy>
>                                 <sp:BootstrapPolicy>
>                                     <wsp:Policy>
>                                         <sp:SignedParts>
>                                             <sp:Body />
>                                             <sp:Header
>                                                 Name="To"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="From"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="FaultTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="ReplyTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="MessageID"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="RelatesTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="Action"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                         </sp:SignedParts>
>                                         <sp:EncryptedParts>
>                                             <sp:Body />
>                                         </sp:EncryptedParts>
>                                         <sp:TransportBinding>
>                                             <wsp:Policy>
>                                                 <sp:TransportToken>
>                                                     <wsp:Policy>
>                                                         <sp:HttpsToken
>
> RequireClientCertificate="false" />
>                                                     </wsp:Policy>
>                                                 </sp:TransportToken>
>                                                 <sp:AlgorithmSuite>
>                                                     <wsp:Policy>
>                                                         <sp:Basic256 />
>                                                     </wsp:Policy>
>                                                 </sp:AlgorithmSuite>
>                                                 <sp:Layout>
>                                                     <wsp:Policy>
>                                                         <sp:Strict />
>                                                     </wsp:Policy>
>                                                 </sp:Layout>
>                                                 <sp:IncludeTimestamp />
>                                             </wsp:Policy>
>                                         </sp:TransportBinding>
>                                         <sp:EndorsingSupportingTokens>
>                                             <wsp:Policy>
>                                                 <sp:X509Token
>                                                     sp:IncludeToken="
> http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/
> IncludeToken/AlwaysToRecipient"
>                                                 >
>                                                     <wsp:Policy>
>
> <sp:RequireThumbprintReference />
>
> <sp:WssX509V3Token10 />
>                                                     </wsp:Policy>
>                                                 </sp:X509Token>
>                                                 <sp:SignedParts>
>                                                     <sp:Header
>                                                         Name="To"
>                                                         Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                                 </sp:SignedParts>
>                                             </wsp:Policy>
>                                         </sp:EndorsingSupportingTokens>
>                                         <sp:Wss11>
>                                             <wsp:Policy>
>
> <sp:MustSupportRefThumbprint />
>                                             </wsp:Policy>
>                                         </sp:Wss11>
>                                         <sp:Trust10>
>                                             <wsp:Policy>
>
> <sp:MustSupportIssuedTokens />
>                                                 <sp:RequireClientEntropy />
>                                                 <sp:RequireServerEntropy />
>                                             </wsp:Policy>
>                                         </sp:Trust10>
>                                     </wsp:Policy>
>                                 </sp:BootstrapPolicy>
>                             </wsp:Policy>
>                         </sp:SecureConversationToken>
>                     </wsp:Policy>
>                 </sp:EndorsingSupportingTokens>
>                 <sp:Wss11 
> xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy">
>                     <wsp:Policy />
>                 </sp:Wss11>
>                 <sp:Trust10
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:MustSupportIssuedTokens />
>                         <sp:RequireClientEntropy />
>                         <sp:RequireServerEntropy />
>                     </wsp:Policy>
>                 </sp:Trust10>
>                 <wsaw:UsingAddressing />
>             </wsp:All>
>         </wsp:ExactlyOne>
>     </wsp:Policy>
>
>
>


--
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Re: Problem calling WCF MS service with security

Posted by Colm O hEigeartaigh <co...@apache.org>.
Answer inline.

On Thu, Feb 16, 2017 at 2:02 PM, Morein, Arnie <Ar...@dps.texas.gov>
wrote:

> And that is part of the confusion. What is meant by PORT NAME?
>

The Port name in the WSDL. For example, from the ws-security-examples,
system tests:

 <jaxws:client name="{
http://www.example.org/contract/DoubleIt}DoubleItPlaintextPort"
createdFromAPI="true">

matches the WSDL port:

<wsdl:port name="DoubleItPlaintextPort"
binding="tns:DoubleItPlaintextBinding">

You can use wildcards as well I believe to match multiple ports.

Colm.


>
> The Interface? I have tried:
>
> { http://aamva.org/authentication/3.1.0} IAuthenticationService
>
> And  the implementation (extends Service):
>
> { http://aamva.org/authentication/3.1.0} AuthenticationService
>
> Neither matches. What else could it be?
>
> I CERTAINLY hope that these jaxws:client constructs are NOT supposed to be
> every METHOD in the server?!
>
> -----Original Message-----
> From: Morein, Arnie [mailto:Arnold.Morein@dps.texas.gov]
> Sent: Wednesday, February 15, 2017 4:29 PM
> To: users@cxf.apache.org
> Subject: [EXTERNAL] Problem calling WCF MS service with security
>
> I have to consume a web service that was written in .Net and requires the
> security policies listed below. We develop in Java to a WAR. I created a
> separate project for the WSDL's Java stubs using Maven's cxf-codegen-plugin
> (3.1.10). It was added to the main WAR project and compiles fine. But
> during initial access to the service, a CXF error occurs.
>
> The manual which came with the WSDL had the following to say about the
> security features in use:
>
>
> Transport Layer Security
>
> Third party X.509 certificate and Tokens Client X.509 certificate
>
> We received a file from the vendor which was converted into a JKS. It has
> two trustedCertEntry entries and one private key of X.509 type.
>
> As I understand the manual, the service does not use the user
> name/password type of WS security. All traffic goes over HTTPS of course,
> and the certificate is supposed to be used to encrypt the message content
> both coming and going.
>
> I have tried to configure the necessary values for CXF to work but always
> get the same error:
>
> Caused by: org.apache.cxf.ws.policy.PolicyException: Security
> configuration could not be detected. Potential cause: Make sure
> jaxws:client element with name attribute value matching endpoint port is
> defined as well as a security.signature.properties element within it.
>
> I have tried setting the necessary (AFAIK) properties via API and Spring
> XML configuration to no avail.
>
> I would greatly appreciate some guidance as to what CXF is looking for
> (and where the file is supposed to be if configuration). Currently I have
> the client-crypto.properties file under /WEB-INF/cxf along with the jks
> file. Its contents:
>
> org.apache.ws.security.crypto.merlin.keystore.file=/WEB-INF/
> cxf/dlsKeystore.jks
> org.apache.ws.security.crypto.merlin.keystore.type=JKS
> org.apache.ws.security.crypto.merlin.keystore.alias=1
> org.apache.ws.security.crypto.merlin.keystore.password=****
> org.apache.ws.security.crypto.merlin.keystore.private.password=****
> org.apache.ws.security.crypto.merlin.truststore.file=/WEB-
> INF/cxf/dlsKeystore.jks
> org.apache.ws.security.crypto.merlin.truststore.type=JKS
> org.apache.ws.security.crypto.merlin.truststore.password=****
>
> Things I have tried setting via API:
>
> // set up ws-security
> /*HashMap<String, Object> crytoProperties = new HashMap<String, Object>();
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.file",
> KEYSTORE_FILE); crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.type",
> "JKS"); crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.alias",
> KEYSTORE_KEY_ALIAS); crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.password",
> KEYSTORE_PASSWORD); crytoProperties.put("org.apache.ws.security.crypto.
> merlin.keystore.private.password", KEYSTORE_KEY_PASSWORD);
>
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.file",
> KEYSTORE_FILE); crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.type",
> "JKS"); crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.password",
> KEYSTORE_PASSWORD); crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.alias",
> KEYSTORE_KEY_ALIAS);
>
> Map<String, Object> ctx = ((BindingProvider) port).getRequestContext();
> ctx.putAll(crytoProperties);*/
>
> // activate ws-security
> /*org.apache.cxf.endpoint.Client client = (org.apache.cxf.endpoint.Client)
> port; org.apache.cxf.endpoint.Endpoint endpoint = client.getEndpoint();*/
>
> // add intercepters
> /*HashMap<String, Object> inProps = new HashMap<String, Object>();
> inProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS);
> inProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS);
> inProps.put(WSHandlerConstants.SIG_PROP_FILE, WSS4J_PROPERTIES);
> inProps.put(WSHandlerConstants.ENC_PROP_FILE, WSS4J_PROPERTIES);
>
> endpoint.getInInterceptors().add(new WSS4JOutInterceptor(inProps));
> endpoint.getInInterceptors().add(new LoggingInInterceptor());
>
> HashMap<String, Object> outProps = new HashMap<String, Object>();
> outProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS);
> outProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS);
> outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
>        + " " +  WSHandlerConstants.SIGNATURE + " " +
> WSHandlerConstants.ENCRYPT); outProps.put(WSHandlerConstants.SIG_PROP_FILE,
> WSS4J_PROPERTIES); outProps.put(WSHandlerConstants.ENC_PROP_FILE,
> WSS4J_PROPERTIES);
>
> outProps.put(WSHandlerConstants.PW_CALLBACK_REF,
> "txdps.dl.bpr.common.business.VlsCxfKeystorePasswordCallback");
>
> endpoint.getOutInterceptors().add(new WSS4JOutInterceptor(outProps));
> endpoint.getOutInterceptors().add(new LoggingOutInterceptor());*/
>
> // set options
> /*HTTPConduit httpConduit = (HTTPConduit) ClientProxy.getClient(port).
> getConduit();
> final HTTPClientPolicy httpClientPolicy = httpConduit.getClient();
> httpClientPolicy.setAllowChunking(false); // MS does not support
> httpClientPolicy.setAutoRedirect(true); // hopefully httpClientPolicy.
> setConnection(ConnectionType.KEEP_ALIVE); // maybe
>
> TLSClientParameters tlsCP = new TLSClientParameters(); String keyPassword
> = KEYSTORE_PASSWORD; KeyStore keyStore = KeyStore.getInstance("JKS");
> Resource aamvaJks = applicationContext.getResource(KEYSTORE_FILE);
>
> keyStore.load(aamvaJks.getInputStream(), KEYSTORE_PASSWORD.toCharArray());
> KeyManager[] myKeyManagers = getKeyManagers(keyStore, keyPassword);
> tlsCP.setKeyManagers(myKeyManagers);
>
> KeyStore trustStore = KeyStore.getInstance("JKS"); aamvaJks =
> applicationContext.getResource(KEYSTORE_FILE);
> trustStore.load(aamvaJks.getInputStream(), KEYSTORE_PASSWORD.toCharArray());
> TrustManager[] myTrustStoreKeyManagers = getTrustManagers(trustStore);
> tlsCP.setTrustManagers(myTrustStoreKeyManagers);
> httpConduit.setTlsClientParameters(tlsCP);*/
>
> Things I have tried setting via configuration (there are actually two
> WSDLs compiled into one external jar).
>
>     <!-- ********************************************************* -->
>     <!-- * Configure the CXF Bus * -->
>     <!-- ********************************************************* -->
>     <import resource="classpath:META-INF/cxf/cxf.xml" />
>     <cxf:bus>
>         <cxf:features>
>             <p:policies />
>             <cxf:logging />
>         </cxf:features>
>     </cxf:bus>
>     <jaxws:client id="aamva-authentication"
>         name="{http://aamva.org/authentication/3.1.0}AuthenticationService
> "
>         createdFromAPI="true"
>     >
>         <jaxws:properties>
>             <entry
>                 key="ws-security.signature.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>             <entry
>                 key="ws-security.encryption.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>         </jaxws:properties>
>     </jaxws:client>
>     <jaxws:client id="aamva-vls3"
>         name="{http://uscis.gov/uscis/services/esb/vls/3.0}
> VerificationOfLawfulStatusService30"
>         createdFromAPI="true"
>     >
>         <jaxws:properties>
>             <entry
>                 key="ws-security.signature.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>             <entry
>                 key="ws-security.encryption.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>         </jaxws:properties>
>     </jaxws:client>
>
> WSDL policies:
>
>     <wsp:Policy wsu:Id="wsHttpEndPoint_policy">
>         <wsp:ExactlyOne>
>             <wsp:All>
>                 <sp:TransportBinding
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:TransportToken>
>                             <wsp:Policy>
>                                 <sp:HttpsToken
>                                     RequireClientCertificate="false" />
>                             </wsp:Policy>
>                         </sp:TransportToken>
>                         <sp:AlgorithmSuite>
>                             <wsp:Policy>
>                                 <sp:Basic256 />
>                             </wsp:Policy>
>                         </sp:AlgorithmSuite>
>                         <sp:Layout>
>                             <wsp:Policy>
>                                 <sp:Strict />
>                             </wsp:Policy>
>                         </sp:Layout>
>                         <sp:IncludeTimestamp />
>                     </wsp:Policy>
>                 </sp:TransportBinding>
>                 <sp:EndorsingSupportingTokens
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:SecureConversationToken
>                             sp:IncludeToken="http://
> schemas.xmlsoap.org/ws/2005/07/securitypolicy/
> IncludeToken/AlwaysToRecipient"
>                         >
>                             <wsp:Policy>
>                                 <sp:BootstrapPolicy>
>                                     <wsp:Policy>
>                                         <sp:SignedParts>
>                                             <sp:Body />
>                                             <sp:Header
>                                                 Name="To"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="From"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="FaultTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="ReplyTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="MessageID"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="RelatesTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="Action"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                         </sp:SignedParts>
>                                         <sp:EncryptedParts>
>                                             <sp:Body />
>                                         </sp:EncryptedParts>
>                                         <sp:TransportBinding>
>                                             <wsp:Policy>
>                                                 <sp:TransportToken>
>                                                     <wsp:Policy>
>                                                         <sp:HttpsToken
>
> RequireClientCertificate="false" />
>                                                     </wsp:Policy>
>                                                 </sp:TransportToken>
>                                                 <sp:AlgorithmSuite>
>                                                     <wsp:Policy>
>                                                         <sp:Basic256 />
>                                                     </wsp:Policy>
>                                                 </sp:AlgorithmSuite>
>                                                 <sp:Layout>
>                                                     <wsp:Policy>
>                                                         <sp:Strict />
>                                                     </wsp:Policy>
>                                                 </sp:Layout>
>                                                 <sp:IncludeTimestamp />
>                                             </wsp:Policy>
>                                         </sp:TransportBinding>
>                                         <sp:EndorsingSupportingTokens>
>                                             <wsp:Policy>
>                                                 <sp:X509Token
>                                                     sp:IncludeToken="
> http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/
> IncludeToken/AlwaysToRecipient"
>                                                 >
>                                                     <wsp:Policy>
>
> <sp:RequireThumbprintReference />
>
> <sp:WssX509V3Token10 />
>                                                     </wsp:Policy>
>                                                 </sp:X509Token>
>                                                 <sp:SignedParts>
>                                                     <sp:Header
>                                                         Name="To"
>                                                         Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                                 </sp:SignedParts>
>                                             </wsp:Policy>
>                                         </sp:EndorsingSupportingTokens>
>                                         <sp:Wss11>
>                                             <wsp:Policy>
>
> <sp:MustSupportRefThumbprint />
>                                             </wsp:Policy>
>                                         </sp:Wss11>
>                                         <sp:Trust10>
>                                             <wsp:Policy>
>
> <sp:MustSupportIssuedTokens />
>                                                 <sp:RequireClientEntropy />
>                                                 <sp:RequireServerEntropy />
>                                             </wsp:Policy>
>                                         </sp:Trust10>
>                                     </wsp:Policy>
>                                 </sp:BootstrapPolicy>
>                             </wsp:Policy>
>                         </sp:SecureConversationToken>
>                     </wsp:Policy>
>                 </sp:EndorsingSupportingTokens>
>                 <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy">
>                     <wsp:Policy />
>                 </sp:Wss11>
>                 <sp:Trust10
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:MustSupportIssuedTokens />
>                         <sp:RequireClientEntropy />
>                         <sp:RequireServerEntropy />
>                     </wsp:Policy>
>                 </sp:Trust10>
>                 <wsaw:UsingAddressing />
>             </wsp:All>
>         </wsp:ExactlyOne>
>     </wsp:Policy>
>
>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

RE: Problem calling WCF MS service with security

Posted by "Morein, Arnie" <Ar...@dps.texas.gov>.
And that is part of the confusion. What is meant by PORT NAME?

The Interface? I have tried:

{ http://aamva.org/authentication/3.1.0} IAuthenticationService

And  the implementation (extends Service):

{ http://aamva.org/authentication/3.1.0} AuthenticationService

Neither matches. What else could it be?

I CERTAINLY hope that these jaxws:client constructs are NOT supposed to be every METHOD in the server?!

-----Original Message-----
From: Morein, Arnie [mailto:Arnold.Morein@dps.texas.gov] 
Sent: Wednesday, February 15, 2017 4:29 PM
To: users@cxf.apache.org
Subject: [EXTERNAL] Problem calling WCF MS service with security

I have to consume a web service that was written in .Net and requires the security policies listed below. We develop in Java to a WAR. I created a separate project for the WSDL's Java stubs using Maven's cxf-codegen-plugin (3.1.10). It was added to the main WAR project and compiles fine. But during initial access to the service, a CXF error occurs.

The manual which came with the WSDL had the following to say about the security features in use:


Transport Layer Security

Third party X.509 certificate and Tokens Client X.509 certificate

We received a file from the vendor which was converted into a JKS. It has two trustedCertEntry entries and one private key of X.509 type.

As I understand the manual, the service does not use the user name/password type of WS security. All traffic goes over HTTPS of course, and the certificate is supposed to be used to encrypt the message content both coming and going.

I have tried to configure the necessary values for CXF to work but always get the same error:

Caused by: org.apache.cxf.ws.policy.PolicyException: Security configuration could not be detected. Potential cause: Make sure jaxws:client element with name attribute value matching endpoint port is defined as well as a security.signature.properties element within it.

I have tried setting the necessary (AFAIK) properties via API and Spring XML configuration to no avail.

I would greatly appreciate some guidance as to what CXF is looking for (and where the file is supposed to be if configuration). Currently I have the client-crypto.properties file under /WEB-INF/cxf along with the jks file. Its contents:

org.apache.ws.security.crypto.merlin.keystore.file=/WEB-INF/cxf/dlsKeystore.jks
org.apache.ws.security.crypto.merlin.keystore.type=JKS
org.apache.ws.security.crypto.merlin.keystore.alias=1
org.apache.ws.security.crypto.merlin.keystore.password=****
org.apache.ws.security.crypto.merlin.keystore.private.password=****
org.apache.ws.security.crypto.merlin.truststore.file=/WEB-INF/cxf/dlsKeystore.jks
org.apache.ws.security.crypto.merlin.truststore.type=JKS
org.apache.ws.security.crypto.merlin.truststore.password=****

Things I have tried setting via API:

// set up ws-security
/*HashMap<String, Object> crytoProperties = new HashMap<String, Object>(); crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.file", KEYSTORE_FILE); crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.type", "JKS"); crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.alias", KEYSTORE_KEY_ALIAS); crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.password", KEYSTORE_PASSWORD); crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.private.password", KEYSTORE_KEY_PASSWORD);

crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.file", KEYSTORE_FILE); crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.type", "JKS"); crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.password", KEYSTORE_PASSWORD); crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.alias", KEYSTORE_KEY_ALIAS);

Map<String, Object> ctx = ((BindingProvider) port).getRequestContext(); ctx.putAll(crytoProperties);*/

// activate ws-security
/*org.apache.cxf.endpoint.Client client = (org.apache.cxf.endpoint.Client) port; org.apache.cxf.endpoint.Endpoint endpoint = client.getEndpoint();*/

// add intercepters
/*HashMap<String, Object> inProps = new HashMap<String, Object>(); inProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS); inProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS); inProps.put(WSHandlerConstants.SIG_PROP_FILE, WSS4J_PROPERTIES); inProps.put(WSHandlerConstants.ENC_PROP_FILE, WSS4J_PROPERTIES);

endpoint.getInInterceptors().add(new WSS4JOutInterceptor(inProps)); endpoint.getInInterceptors().add(new LoggingInInterceptor());

HashMap<String, Object> outProps = new HashMap<String, Object>(); outProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS); outProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS); outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
       + " " +  WSHandlerConstants.SIGNATURE + " " +  WSHandlerConstants.ENCRYPT); outProps.put(WSHandlerConstants.SIG_PROP_FILE, WSS4J_PROPERTIES); outProps.put(WSHandlerConstants.ENC_PROP_FILE, WSS4J_PROPERTIES);

outProps.put(WSHandlerConstants.PW_CALLBACK_REF, "txdps.dl.bpr.common.business.VlsCxfKeystorePasswordCallback");

endpoint.getOutInterceptors().add(new WSS4JOutInterceptor(outProps)); endpoint.getOutInterceptors().add(new LoggingOutInterceptor());*/

// set options
/*HTTPConduit httpConduit = (HTTPConduit) ClientProxy.getClient(port).getConduit();
final HTTPClientPolicy httpClientPolicy = httpConduit.getClient(); httpClientPolicy.setAllowChunking(false); // MS does not support httpClientPolicy.setAutoRedirect(true); // hopefully httpClientPolicy.setConnection(ConnectionType.KEEP_ALIVE); // maybe

TLSClientParameters tlsCP = new TLSClientParameters(); String keyPassword = KEYSTORE_PASSWORD; KeyStore keyStore = KeyStore.getInstance("JKS"); Resource aamvaJks = applicationContext.getResource(KEYSTORE_FILE);

keyStore.load(aamvaJks.getInputStream(), KEYSTORE_PASSWORD.toCharArray()); KeyManager[] myKeyManagers = getKeyManagers(keyStore, keyPassword); tlsCP.setKeyManagers(myKeyManagers);

KeyStore trustStore = KeyStore.getInstance("JKS"); aamvaJks = applicationContext.getResource(KEYSTORE_FILE);
trustStore.load(aamvaJks.getInputStream(), KEYSTORE_PASSWORD.toCharArray()); TrustManager[] myTrustStoreKeyManagers = getTrustManagers(trustStore); tlsCP.setTrustManagers(myTrustStoreKeyManagers);
httpConduit.setTlsClientParameters(tlsCP);*/

Things I have tried setting via configuration (there are actually two WSDLs compiled into one external jar).

    <!-- ********************************************************* -->
    <!-- * Configure the CXF Bus * -->
    <!-- ********************************************************* -->
    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <cxf:bus>
        <cxf:features>
            <p:policies />
            <cxf:logging />
        </cxf:features>
    </cxf:bus>
    <jaxws:client id="aamva-authentication"
        name="{http://aamva.org/authentication/3.1.0}AuthenticationService"
        createdFromAPI="true"
    >
        <jaxws:properties>
            <entry
                key="ws-security.signature.properties"
                value="/WEB-INF/cxf/client-crypto.properties" />
            <entry
                key="ws-security.encryption.properties"
                value="/WEB-INF/cxf/client-crypto.properties" />
        </jaxws:properties>
    </jaxws:client>
    <jaxws:client id="aamva-vls3"
        name="{http://uscis.gov/uscis/services/esb/vls/3.0}VerificationOfLawfulStatusService30"
        createdFromAPI="true"
    >
        <jaxws:properties>
            <entry
                key="ws-security.signature.properties"
                value="/WEB-INF/cxf/client-crypto.properties" />
            <entry
                key="ws-security.encryption.properties"
                value="/WEB-INF/cxf/client-crypto.properties" />
        </jaxws:properties>
    </jaxws:client>

WSDL policies:

    <wsp:Policy wsu:Id="wsHttpEndPoint_policy">
        <wsp:ExactlyOne>
            <wsp:All>
                <sp:TransportBinding
                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
                >
                    <wsp:Policy>
                        <sp:TransportToken>
                            <wsp:Policy>
                                <sp:HttpsToken
                                    RequireClientCertificate="false" />
                            </wsp:Policy>
                        </sp:TransportToken>
                        <sp:AlgorithmSuite>
                            <wsp:Policy>
                                <sp:Basic256 />
                            </wsp:Policy>
                        </sp:AlgorithmSuite>
                        <sp:Layout>
                            <wsp:Policy>
                                <sp:Strict />
                            </wsp:Policy>
                        </sp:Layout>
                        <sp:IncludeTimestamp />
                    </wsp:Policy>
                </sp:TransportBinding>
                <sp:EndorsingSupportingTokens
                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
                >
                    <wsp:Policy>
                        <sp:SecureConversationToken
                            sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"
                        >
                            <wsp:Policy>
                                <sp:BootstrapPolicy>
                                    <wsp:Policy>
                                        <sp:SignedParts>
                                            <sp:Body />
                                            <sp:Header
                                                Name="To"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="From"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="FaultTo"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="ReplyTo"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="MessageID"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="RelatesTo"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                            <sp:Header
                                                Name="Action"
                                                Namespace="http://www.w3.org/2005/08/addressing" />
                                        </sp:SignedParts>
                                        <sp:EncryptedParts>
                                            <sp:Body />
                                        </sp:EncryptedParts>
                                        <sp:TransportBinding>
                                            <wsp:Policy>
                                                <sp:TransportToken>
                                                    <wsp:Policy>
                                                        <sp:HttpsToken
                                                            RequireClientCertificate="false" />
                                                    </wsp:Policy>
                                                </sp:TransportToken>
                                                <sp:AlgorithmSuite>
                                                    <wsp:Policy>
                                                        <sp:Basic256 />
                                                    </wsp:Policy>
                                                </sp:AlgorithmSuite>
                                                <sp:Layout>
                                                    <wsp:Policy>
                                                        <sp:Strict />
                                                    </wsp:Policy>
                                                </sp:Layout>
                                                <sp:IncludeTimestamp />
                                            </wsp:Policy>
                                        </sp:TransportBinding>
                                        <sp:EndorsingSupportingTokens>
                                            <wsp:Policy>
                                                <sp:X509Token
                                                    sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"
                                                >
                                                    <wsp:Policy>
                                                        <sp:RequireThumbprintReference />
                                                        <sp:WssX509V3Token10 />
                                                    </wsp:Policy>
                                                </sp:X509Token>
                                                <sp:SignedParts>
                                                    <sp:Header
                                                        Name="To"
                                                        Namespace="http://www.w3.org/2005/08/addressing" />
                                                </sp:SignedParts>
                                            </wsp:Policy>
                                        </sp:EndorsingSupportingTokens>
                                        <sp:Wss11>
                                            <wsp:Policy>
                                                <sp:MustSupportRefThumbprint />
                                            </wsp:Policy>
                                        </sp:Wss11>
                                        <sp:Trust10>
                                            <wsp:Policy>
                                                <sp:MustSupportIssuedTokens />
                                                <sp:RequireClientEntropy />
                                                <sp:RequireServerEntropy />
                                            </wsp:Policy>
                                        </sp:Trust10>
                                    </wsp:Policy>
                                </sp:BootstrapPolicy>
                            </wsp:Policy>
                        </sp:SecureConversationToken>
                    </wsp:Policy>
                </sp:EndorsingSupportingTokens>
                <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                    <wsp:Policy />
                </sp:Wss11>
                <sp:Trust10
                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
                >
                    <wsp:Policy>
                        <sp:MustSupportIssuedTokens />
                        <sp:RequireClientEntropy />
                        <sp:RequireServerEntropy />
                    </wsp:Policy>
                </sp:Trust10>
                <wsaw:UsingAddressing />
            </wsp:All>
        </wsp:ExactlyOne>
    </wsp:Policy>



Re: Problem calling WCF MS service with security

Posted by Colm O hEigeartaigh <co...@apache.org>.
It looks like your jaxws:client "name" either does not match the WSDL port
or else the configuration file is not getting picked up at all. When you
have a security policy, you don't need to specify the "WSHandlerConstants"
style configuration. Take a look at the WS-Security Examples tests in the
"systests/ws-security-examples" module in the CXF source. All of these
tests have security policies embedded in the WSDLs, and the security
configuration is picked up via spring configuration files.

Colm.

On Wed, Feb 15, 2017 at 10:29 PM, Morein, Arnie <Arnold.Morein@dps.texas.gov
> wrote:

> I have to consume a web service that was written in .Net and requires the
> security policies listed below. We develop in Java to a WAR. I created a
> separate project for the WSDL's Java stubs using Maven's cxf-codegen-plugin
> (3.1.10). It was added to the main WAR project and compiles fine. But
> during initial access to the service, a CXF error occurs.
>
> The manual which came with the WSDL had the following to say about the
> security features in use:
>
>
> Transport Layer Security
>
> Third party X.509 certificate and Tokens
> Client X.509 certificate
>
> We received a file from the vendor which was converted into a JKS. It has
> two trustedCertEntry entries and one private key of X.509 type.
>
> As I understand the manual, the service does not use the user
> name/password type of WS security. All traffic goes over HTTPS of course,
> and the certificate is supposed to be used to encrypt the message content
> both coming and going.
>
> I have tried to configure the necessary values for CXF to work but always
> get the same error:
>
> Caused by: org.apache.cxf.ws.policy.PolicyException: Security
> configuration could not be detected. Potential cause: Make sure
> jaxws:client element with name attribute value matching endpoint port is
> defined as well as a security.signature.properties element within it.
>
> I have tried setting the necessary (AFAIK) properties via API and Spring
> XML configuration to no avail.
>
> I would greatly appreciate some guidance as to what CXF is looking for
> (and where the file is supposed to be if configuration). Currently I have
> the client-crypto.properties file under /WEB-INF/cxf along with the jks
> file. Its contents:
>
> org.apache.ws.security.crypto.merlin.keystore.file=/WEB-INF/
> cxf/dlsKeystore.jks
> org.apache.ws.security.crypto.merlin.keystore.type=JKS
> org.apache.ws.security.crypto.merlin.keystore.alias=1
> org.apache.ws.security.crypto.merlin.keystore.password=****
> org.apache.ws.security.crypto.merlin.keystore.private.password=****
> org.apache.ws.security.crypto.merlin.truststore.file=/WEB-
> INF/cxf/dlsKeystore.jks
> org.apache.ws.security.crypto.merlin.truststore.type=JKS
> org.apache.ws.security.crypto.merlin.truststore.password=****
>
> Things I have tried setting via API:
>
> // set up ws-security
> /*HashMap<String, Object> crytoProperties = new HashMap<String, Object>();
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.file",
> KEYSTORE_FILE);
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.type",
> "JKS");
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.alias",
> KEYSTORE_KEY_ALIAS);
> crytoProperties.put("org.apache.ws.security.crypto.merlin.keystore.password",
> KEYSTORE_PASSWORD);
> crytoProperties.put("org.apache.ws.security.crypto.
> merlin.keystore.private.password", KEYSTORE_KEY_PASSWORD);
>
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.file",
> KEYSTORE_FILE);
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.type",
> "JKS");
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.password",
> KEYSTORE_PASSWORD);
> crytoProperties.put("org.apache.ws.security.crypto.merlin.truststore.alias",
> KEYSTORE_KEY_ALIAS);
>
> Map<String, Object> ctx = ((BindingProvider) port).getRequestContext();
> ctx.putAll(crytoProperties);*/
>
> // activate ws-security
> /*org.apache.cxf.endpoint.Client client = (org.apache.cxf.endpoint.Client)
> port;
> org.apache.cxf.endpoint.Endpoint endpoint = client.getEndpoint();*/
>
> // add intercepters
> /*HashMap<String, Object> inProps = new HashMap<String, Object>();
> inProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS);
> inProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS);
> inProps.put(WSHandlerConstants.SIG_PROP_FILE, WSS4J_PROPERTIES);
> inProps.put(WSHandlerConstants.ENC_PROP_FILE, WSS4J_PROPERTIES);
>
> endpoint.getInInterceptors().add(new WSS4JOutInterceptor(inProps));
> endpoint.getInInterceptors().add(new LoggingInInterceptor());
>
> HashMap<String, Object> outProps = new HashMap<String, Object>();
> outProps.put(WSHandlerConstants.SIG_KEY_ID, KEYSTORE_KEY_ALIAS);
> outProps.put(WSHandlerConstants.ENC_KEY_ID, KEYSTORE_KEY_ALIAS);
> outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
>        + " " +  WSHandlerConstants.SIGNATURE + " " +
> WSHandlerConstants.ENCRYPT);
> outProps.put(WSHandlerConstants.SIG_PROP_FILE, WSS4J_PROPERTIES);
> outProps.put(WSHandlerConstants.ENC_PROP_FILE, WSS4J_PROPERTIES);
>
> outProps.put(WSHandlerConstants.PW_CALLBACK_REF,
> "txdps.dl.bpr.common.business.VlsCxfKeystorePasswordCallback");
>
> endpoint.getOutInterceptors().add(new WSS4JOutInterceptor(outProps));
> endpoint.getOutInterceptors().add(new LoggingOutInterceptor());*/
>
> // set options
> /*HTTPConduit httpConduit = (HTTPConduit) ClientProxy.getClient(port).
> getConduit();
> final HTTPClientPolicy httpClientPolicy = httpConduit.getClient();
> httpClientPolicy.setAllowChunking(false); // MS does not support
> httpClientPolicy.setAutoRedirect(true); // hopefully
> httpClientPolicy.setConnection(ConnectionType.KEEP_ALIVE); // maybe
>
> TLSClientParameters tlsCP = new TLSClientParameters();
> String keyPassword = KEYSTORE_PASSWORD;
> KeyStore keyStore = KeyStore.getInstance("JKS");
> Resource aamvaJks = applicationContext.getResource(KEYSTORE_FILE);
>
> keyStore.load(aamvaJks.getInputStream(), KEYSTORE_PASSWORD.toCharArray());
> KeyManager[] myKeyManagers = getKeyManagers(keyStore, keyPassword);
> tlsCP.setKeyManagers(myKeyManagers);
>
> KeyStore trustStore = KeyStore.getInstance("JKS");
> aamvaJks = applicationContext.getResource(KEYSTORE_FILE);
> trustStore.load(aamvaJks.getInputStream(), KEYSTORE_PASSWORD.toCharArray(
> ));
> TrustManager[] myTrustStoreKeyManagers = getTrustManagers(trustStore);
> tlsCP.setTrustManagers(myTrustStoreKeyManagers);
> httpConduit.setTlsClientParameters(tlsCP);*/
>
> Things I have tried setting via configuration (there are actually two
> WSDLs compiled into one external jar).
>
>     <!-- ********************************************************* -->
>     <!-- * Configure the CXF Bus * -->
>     <!-- ********************************************************* -->
>     <import resource="classpath:META-INF/cxf/cxf.xml" />
>     <cxf:bus>
>         <cxf:features>
>             <p:policies />
>             <cxf:logging />
>         </cxf:features>
>     </cxf:bus>
>     <jaxws:client id="aamva-authentication"
>         name="{http://aamva.org/authentication/3.1.0}AuthenticationService
> "
>         createdFromAPI="true"
>     >
>         <jaxws:properties>
>             <entry
>                 key="ws-security.signature.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>             <entry
>                 key="ws-security.encryption.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>         </jaxws:properties>
>     </jaxws:client>
>     <jaxws:client id="aamva-vls3"
>         name="{http://uscis.gov/uscis/services/esb/vls/3.0}
> VerificationOfLawfulStatusService30"
>         createdFromAPI="true"
>     >
>         <jaxws:properties>
>             <entry
>                 key="ws-security.signature.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>             <entry
>                 key="ws-security.encryption.properties"
>                 value="/WEB-INF/cxf/client-crypto.properties" />
>         </jaxws:properties>
>     </jaxws:client>
>
> WSDL policies:
>
>     <wsp:Policy wsu:Id="wsHttpEndPoint_policy">
>         <wsp:ExactlyOne>
>             <wsp:All>
>                 <sp:TransportBinding
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:TransportToken>
>                             <wsp:Policy>
>                                 <sp:HttpsToken
>                                     RequireClientCertificate="false" />
>                             </wsp:Policy>
>                         </sp:TransportToken>
>                         <sp:AlgorithmSuite>
>                             <wsp:Policy>
>                                 <sp:Basic256 />
>                             </wsp:Policy>
>                         </sp:AlgorithmSuite>
>                         <sp:Layout>
>                             <wsp:Policy>
>                                 <sp:Strict />
>                             </wsp:Policy>
>                         </sp:Layout>
>                         <sp:IncludeTimestamp />
>                     </wsp:Policy>
>                 </sp:TransportBinding>
>                 <sp:EndorsingSupportingTokens
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:SecureConversationToken
>                             sp:IncludeToken="http://
> schemas.xmlsoap.org/ws/2005/07/securitypolicy/
> IncludeToken/AlwaysToRecipient"
>                         >
>                             <wsp:Policy>
>                                 <sp:BootstrapPolicy>
>                                     <wsp:Policy>
>                                         <sp:SignedParts>
>                                             <sp:Body />
>                                             <sp:Header
>                                                 Name="To"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="From"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="FaultTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="ReplyTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="MessageID"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="RelatesTo"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                             <sp:Header
>                                                 Name="Action"
>                                                 Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                         </sp:SignedParts>
>                                         <sp:EncryptedParts>
>                                             <sp:Body />
>                                         </sp:EncryptedParts>
>                                         <sp:TransportBinding>
>                                             <wsp:Policy>
>                                                 <sp:TransportToken>
>                                                     <wsp:Policy>
>                                                         <sp:HttpsToken
>
> RequireClientCertificate="false" />
>                                                     </wsp:Policy>
>                                                 </sp:TransportToken>
>                                                 <sp:AlgorithmSuite>
>                                                     <wsp:Policy>
>                                                         <sp:Basic256 />
>                                                     </wsp:Policy>
>                                                 </sp:AlgorithmSuite>
>                                                 <sp:Layout>
>                                                     <wsp:Policy>
>                                                         <sp:Strict />
>                                                     </wsp:Policy>
>                                                 </sp:Layout>
>                                                 <sp:IncludeTimestamp />
>                                             </wsp:Policy>
>                                         </sp:TransportBinding>
>                                         <sp:EndorsingSupportingTokens>
>                                             <wsp:Policy>
>                                                 <sp:X509Token
>                                                     sp:IncludeToken="
> http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/
> IncludeToken/AlwaysToRecipient"
>                                                 >
>                                                     <wsp:Policy>
>
> <sp:RequireThumbprintReference />
>
> <sp:WssX509V3Token10 />
>                                                     </wsp:Policy>
>                                                 </sp:X509Token>
>                                                 <sp:SignedParts>
>                                                     <sp:Header
>                                                         Name="To"
>                                                         Namespace="
> http://www.w3.org/2005/08/addressing" />
>                                                 </sp:SignedParts>
>                                             </wsp:Policy>
>                                         </sp:EndorsingSupportingTokens>
>                                         <sp:Wss11>
>                                             <wsp:Policy>
>
> <sp:MustSupportRefThumbprint />
>                                             </wsp:Policy>
>                                         </sp:Wss11>
>                                         <sp:Trust10>
>                                             <wsp:Policy>
>
> <sp:MustSupportIssuedTokens />
>                                                 <sp:RequireClientEntropy />
>                                                 <sp:RequireServerEntropy />
>                                             </wsp:Policy>
>                                         </sp:Trust10>
>                                     </wsp:Policy>
>                                 </sp:BootstrapPolicy>
>                             </wsp:Policy>
>                         </sp:SecureConversationToken>
>                     </wsp:Policy>
>                 </sp:EndorsingSupportingTokens>
>                 <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy">
>                     <wsp:Policy />
>                 </sp:Wss11>
>                 <sp:Trust10
>                     xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/
> securitypolicy"
>                 >
>                     <wsp:Policy>
>                         <sp:MustSupportIssuedTokens />
>                         <sp:RequireClientEntropy />
>                         <sp:RequireServerEntropy />
>                     </wsp:Policy>
>                 </sp:Trust10>
>                 <wsaw:UsingAddressing />
>             </wsp:All>
>         </wsp:ExactlyOne>
>     </wsp:Policy>
>
>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com