Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The ChainingMetadataProvider is a container for an ordered sequence of metadata providers of any type. When searching for a particular entityID, the metadata resolver consults each child provider in the order in which it is listed. See the parent topic for a detailed description of the search ordering algorithm used by ChainingMetadataProviderthe metadata resolver.

Schema Names and location

...

Code Block
languagexml
titleExample 1
<MetadataProvider id="chain" xsi:type="ChainingMetadataProvider">
	<!-- one
		One or more providers of type FilesystemMetadataProvider for local metadata.
		Each metadata provider describes a static entity descriptor stored in a file.
	-->
	<MetadataProvider id="LocalMetadata" xsi:type="FilesystemMetadataProvider" ...>
      <!-- ... -->
	</MetadataProvider>
	
	<!-- exactly
		Exactly one provider of type FileBackedHTTPMetadataProvider for federation metadata.
		The metadata provider automatically refreshes a metadata aggregate (EntitiesDescriptor)
		which would otherwise expire.
	-->
	<MetadataProvider id="FederationMetadata" xsi:type="FileBackedHTTPMetadataProvider" ...>
      <!-- ... -->
	</MetadataProvider>
</MetadataProvider>                                   

...

Code Block
languagexml
titleExample 2
<MetadataProvider id="chain" xsi:type="ChainingMetadataProvider">
	<!-- 
exactly		Exactly one provider of type LocalDynamicMetadataProvider for local metadata.
		The metadata provider configures a source directory containing one or more
		static entity descriptors.
	-->
	<MetadataProvider id="LocalMetadata" xsi:type="LocalDynamicMetadataProvider" ...>
      <!-- ... -->
	</MetadataProvider>
	
	<!-- exactly
		Exactly one provider of type FileBackedHTTPMetadataProvider for federation metadata.
		The metadata provider automatically refreshes a metadata aggregate (EntitiesDescriptor)
		which would otherwise expire.
	-->
 	<MetadataProvider id="FederationMetadata" xsi:type="FileBackedHTTPMetadataProvider" ...>

      <!-- ... -->
	</MetadataProvider>
</MetadataProvider>                                   

...

Code Block
languagexml
titleExample 3
<MetadataProvider id="chain" xsi:type="ChainingMetadataProvider">
	<!-- exactly
		Exactly one provider of type LocalDynamicMetadataProvider for local metadata.
		The metadata provider configures a source directory containing one or more
		static entity descriptors.
	-->
	<MetadataProvider id="LocalMetadata" xsi:type="LocalDynamicMetadataProvider" ...>
      <!-- ... -->
	</MetadataProvider>
	
	<!-- 
exactly		Exactly one provider of type DynamicHTTPMetadataProvider for federation metadata.
		Individual entity descriptors are fetched dynamically as needed from a metadata
		query server.
	-->
	<MetadataProvider id="FederationMetadata" xsi:type="DynamicHTTPMetadataProvider" ...>
      <!-- ... -->
	</MetadataProvider>
</MetadataProvider>                                   

...

Code Block
languagexml
titleExample 4
<MetadataProvider id="chain" xsi:type="ChainingMetadataProvider">
	<!-- exactly
		Exactly one provider of type LocalDynamicMetadataProvider for local metadata.
		The metadata provider configures a source directory containing one or more
		static entity descriptors.
	-->
	<MetadataProvider id="LocalMetadata" xsi:type="LocalDynamicMetadataProvider" ...>
      <!-- ... -->
	</MetadataProvider>
	
	<!-- one
		One or more providers of type FileBackedHTTPMetadataProvider for federation
		metadata. Each provider loads (and reloads) a single entity descriptor
		(which would otherwise expire).
	-->
	<MetadataProvider id="HighValueEntityMetadata" xsi:type="FileBackedHTTPMetadataProvider" ...>
      <!-- ... -->
	</MetadataProvider>

	<!-- exactly
		Exactly one provider of type DynamicHTTPMetadataProvider for federation metadata.
		Individual entity descriptors are fetched dynamically as needed from a metadata
		query server.
	-->
	<MetadataProvider id="FederationMetadata" xsi:type="DynamicHTTPMetadataProvider" ...>
      <!-- ... -->
	</MetadataProvider>
</MetadataProvider>                                   

...