<div dir="ltr">I got following error while integrate LDAP with Shibboleth:
<br><b>net.shibboleth.utilities.java.support.service.ServiceException: 
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 'myLDAP': Invocation of init method failed; nested 
exception is 
net.shibboleth.utilities.java.support.component.ComponentInitializationException:
 Data Connector 'myLDAP': Invalid connector configuration
<br>org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'shibboleth.metrics.RegisterMetricSets$child#0' 
defined in file 
[/opt/shibboleth-idp/system/conf/../../conf/admin/metrics.xml]: Cannot 
resolve reference to bean 'shibboleth.metrics.AttributeResolverGaugeSet'
 while setting bean property 'arguments' with key [7]; nested exception 
is org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'shibboleth.metrics.AttributeResolverGaugeSet' 
defined in file 
[/opt/shibboleth-idp/system/conf/general-admin-system.xml]: Invocation 
of init method failed; nested exception is 
net.shibboleth.utilities.java.support.component.ComponentInitializationException:
 Injected service was null or not an AttributeResolver
<br></b><br><b><br><b>attribute-resolver.xml</b><br><?xml version="1.0" encoding="UTF-8"?>
<br><AttributeResolver
<br>        xmlns="urn:mace:shibboleth:2.0:resolver"
<br>        xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance%22" rel="nofollow">http://www.w3.org/2001/XMLSchema-instance"</a><br>        xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver <a href="http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd%22%3E" rel="nofollow">http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd"></a><br><?xml version="1.0" encoding="UTF-8"?>
<br><AttributeResolver
<br>        xmlns="urn:mace:shibboleth:2.0:resolver"
<br>        xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance%22" rel="nofollow">http://www.w3.org/2001/XMLSchema-instance"</a><br>        xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver <a href="http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd%22%3E" rel="nofollow">http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd"></a><br>        <AttributeDefinition id="eduPersonPrincipalName" xsi:type="Prescoped" sourceAttributeID="eduPersonPrincipalName"><br>        <Dependency ref="myLDAP" /><br> 
       <AttributeEncoder xsi:type="SAML1ScopedString" 
name="urn:mace:dir:attribute-def:eduPersonPrincipalName" 
encodeType="false" /><br>        <AttributeEncoder 
xsi:type="SAML2ScopedString" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" 
friendlyName="eduPersonPrincipalName" encodeType="false" /><br>    </AttributeDefinition><br>    <AttributeDefinition id="uid" xsi:type="Simple" sourceAttributeID="uid"><br>        <Dependency ref="myLDAP" /><br>        <AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:uid" encodeType="false" /><br> 
       <AttributeEncoder xsi:type="SAML2String" 
name="urn:oid:0.9.2342.19200300.100.1.1" friendlyName="uid" 
encodeType="false" /><br>    </AttributeDefinition><br>    <AttributeDefinition id="mail" xsi:type="Simple" sourceAttributeID="mail"><br>        <Dependency ref="myLDAP" /><br>        <AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:mail" encodeType="false" /><br> 
       <AttributeEncoder xsi:type="SAML2String" 
name="urn:oid:0.9.2342.19200300.100.1.3" friendlyName="mail" 
encodeType="false" /><br>    </AttributeDefinition><br>    <DataConnector id="myLDAP" xsi:type="LDAPDirectory"
<br>        ldapURL="%{idp.attribute.resolver.LDAP.ldapURL}"
<br>        baseDN="%{idp.attribute.resolver.LDAP.baseDN}"
<br>        principal="%{idp.attribute.resolver.LDAP.bindDN}"
<br>        principalCredential="%{idp.attribute.resolver.LDAP.bindDNCredential}"
<br>        useStartTLS="%{idp.attribute.resolver.LDAP.useStartTLS:false}"
<br>        connectTimeout="%{idp.attribute.resolver.LDAP.connectTimeout}"
<br>        responseTimeout="%{idp.attribute.resolver.LDAP.responseTimeout}"><br>        <FilterTemplate><br>            </b><pre><![CDATA[
                %{idp.attribute.resolver.LDAP.searchFilter}
            ]]></pre><br>        </FilterTemplate><br>        <ConnectionPool
<br>            minPoolSize="%{idp.pool.LDAP.minSize:0}"
<br>            maxPoolSize="%{idp.pool.LDAP.maxSize:10}"
<br>            blockWaitTime="%{idp.pool.LDAP.blockWaitTime:PT3S}"
<br>            validatePeriodically="%{idp.pool.LDAP.validatePeriodically:true}"
<br>            validateTimerPeriod="%{idp.pool.LDAP.validatePeriod:PT3S}"
<br>            expirationTime="%{idp.pool.LDAP.idleTime:PT10M}"
<br>            failFastInitialize="%{idp.pool.LDAP.failFastInitialize:false}" /><br>    </DataConnector><br></AttributeResolver><br><br><b>ldap.properties</b><br>idp.authn.LDAP.authenticator                   = anonSearchAuthenticator
<br>idp.authn.LDAP.ldapURL                          = ldap://localhost:389
<br><br>idp.authn.LDAP.useStartTLS                     = false
<br>idp.authn.LDAP.useSSL                          = false
<br><br><br>idp.authn.LDAP.returnAttributes                 = passwordExpirationTime,loginGraceRemaining
<br><br><br>idp.authn.LDAP.baseDN                           = ou=Staff,dc=##,dc=#,dc=#
<br>#idp.authn.LDAP.subtreeSearch                   = false
<br>idp.authn.LDAP.userFilter                       = (uid={user})
<br># for AD: idp.authn.LDAP.bindDN=<a href="mailto:adminuser@domain.com">adminuser@domain.com</a>
<br>idp.authn.LDAP.bindDN                           = uid=#,ou=Staff
<br>idp.authn.LDAP.bindDNCredential                 = #
<br><br>idp.authn.LDAP.dnFormat                         = cn=%s,ou=Staff,dc=#,dc=#,dc=#
<br>idp.attribute.resolver.LDAP.returnAttributes    = uid,mail
<br><br>idp.attribute.resolver.LDAP.ldapURL             = %{idp.authn.LDAP.ldapURL}
<br>idp.attribute.resolver.LDAP.baseDN              = %{idp.authn.LDAP.baseDN:undefined}
<br>idp.attribute.resolver.LDAP.bindDN              = %{idp.authn.LDAP.bindDN:undefined}
<br>idp.attribute.resolver.LDAP.bindDNCredential    = %{idp.authn.LDAP.bindDNCredential:undefined}
<br>idp.attribute.resolver.LDAP.useStartTLS         = %{idp.authn.LDAP.useStartTLS:false}
<br>idp.attribute.resolver.LDAP.searchFilter        = (uid=$requestContext.principal)
<br>idp.attribute.resolver.LDAP.responseTimeout   = 30000
<br>idp.attribute.resolver.LDAP.connectTimeout   = 30000
</div>