<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:14pt;color:#000000;background-color:#FFFFFF;font-family:'Times New Roman', Times, serif;">
I am working on IdP 3.2.1 and stuck with Ldap problem. No error is showing on idp-process.log when tomcat8 starts. However,
<div>I am getting the following error after SP directed me to IdP and before opening login screen on IdP.</div>
<div><font color="#006fc9"> I have 2.x running fine and want to setup, clean, 3.2.1 in another server. Help is appreciated.</font></div>
<div><br>
</div>
<div>
<div>2016-02-03 09:55:45,072 - ERROR [net.shibboleth.utilities.java.support.service.AbstractReloadableService:231] - Service 'shibboleth.AttributeResolverService': Reload for shibboleth.AttributeResolverService failed</div>
<div>net.shibboleth.utilities.java.support.service.ServiceException: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'myLDAP' defined in null: Could not resolve placeholder 'idp.attribute.resolver.LDAP.returnAttributes'
 in string value "%{idp.attribute.resolver.LDAP.returnAttributes}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'idp.attribute.resolver.LDAP.returnAttributes' in string value "%{idp.attribute.resolver.LDAP.returnAttributes}"</div>
<div>        at net.shibboleth.ext.spring.service.ReloadableSpringService.doReload(ReloadableSpringService.java:334)</div>
<div>Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'myLDAP' defined in null: Could not resolve placeholder 'idp.attribute.resolver.LDAP.returnAttributes' in string value "%{idp.attribute.resolver.LDAP.returnAttributes}";
 nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'idp.attribute.resolver.LDAP.returnAttributes' in string value "%{idp.attribute.resolver.LDAP.returnAttributes}"</div>
<div>        at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:211)</div>
<div>Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'idp.attribute.resolver.LDAP.returnAttributes' in string value "%{idp.attribute.resolver.LDAP.returnAttributes}"</div>
<div>        at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)</div>
<div><br>
</div>
<div>Here is what i have in ldap.properties and attribute-resolver xml files.</div>
<div><br>
</div>
<div>
<div><font color="#ff0000">ldap.properties file:</font></div>
<div><font color="#ff0000"><br>
</font></div>
<div>idp.authn.LDAP.authenticator        = bindSearchAuthenticator</div>
<div>idp.attribute.resolver.LDAP.ldapURL = ldap://x.y.z:389</div>
<div>idp.attribute.resolver.LDAP.bindDN  = bindDN info here</div>
<div>idp.authn.LDAP.useStartTLS          = false</div>
<div>idp.authn.LDAP.useSSL               = false</div>
<div>idp.authn.LDAP.sslConfig            = jvmTrust</div>
<div>idp.attribute.resolver.LDAP.bindDNCredential  = password</div>
<div><span style="font-size: 14pt;">idp.attribute.resolver.LDAP.searchFilter = (uid=$requestContext.principalName)</span></div>
<div><span style="font-size: 14pt;"><br>
</span></div>
<div><span style="font-size: 14pt;"><br>
</span></div>
<div><span style="font-size: 14pt;">
<div><font color="#ff0000">attribute-resolver.xml file:</font></div>
<div><font color="#ff0000"><br>
</font></div>
<div><span style="font-size: 14pt;">    <resolver:AttributeDefinition id="uid" xsi:type="ad:Simple" sourceAttributeID="uid"></span><br>
</div>
</span></div>
<div>
<div>        <resolver:Dependency ref="myLDAP" /></div>
<div>        <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:uid" encodeType="false" /></div>
<div>        <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:0.9.2342.19200300.100.1.1" friendlyName="uid" encodeType="false" /></div>
<div>    </resolver:AttributeDefinition></div>
<div><br>
</div>
<div><resolver:DataConnector id="myLDAP" xsi:type="dc:LDAPDirectory"</div>
<div>        ldapURL="%{idp.attribute.resolver.LDAP.ldapURL}"</div>
<div>        principal="%{idp.attribute.resolver.LDAP.bindDN}"</div>
<div>        principalCredential="%{idp.attribute.resolver.LDAP.bindDNCredential}"></div>
<div>        <dc:FilterTemplate></div>
<div>            <![CDATA[</div>
<div>                %{idp.attribute.resolver.LDAP.searchFilter}</div>
<div>            ]]></div>
<div>        </dc:FilterTemplate></div>
<div>        <dc:ReturnAttributes>%{idp.attribute.resolver.LDAP.returnAttributes}</dc:ReturnAttributes> </div>
<div>    </resolver:DataConnector></div>
<div><br>
</div>
<br>
</div>
<br>
</div>
<br>
</div>
</div>
</body>
</html>