Data connector defined in native Spring

Rod Widdowson rdw at steadingsoftware.com
Tue Mar 8 10:50:26 EST 2016


> I’m using IDP 3.1.1.

I don't think it matters, but you might want to try a more recent version. 

> Do I need to use different file than
> global.xml or this native spring definition works in some other way?

As I think about it, yes you probably do.  Put the definition inside a file
which in turn is pointed to by the service declaration in services.xml.

Beyond that at a programming level:

  - Does your DataConnector implement the class DataConnector?  
  - Have you really defined the id as umConn?

I'd also turn up logging for net.shibboleth.idp.attribute.resolver. to debug
and see what happens and in particular look to see that the data connector
is being included by net.shibboleth.idp.attribute.resolver.spring.impl
AttributeResolverServiceStrategy

Since I had to look it up again, what happens under the hood is that:

1) All the files specified inside the Service declaration are parsed via
Spring.
2) The (List of) all declared data connectors are then extracted by type
(i.e. everything which implements DataConnector) and these are passed into
the resolver.
3) The resolver itself takes this list and turns in into a map where the
index is the Id as defined in the connector.
4) Dependencies are then resolved at resolution time by id.

It's this last stage which is failing, hence my question that the id is
correct and that the class implements DataConnector.

Rod





More information about the dev mailing list