The Shibboleth IdP V3 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only. See the IDP4 wiki space for current documentation on the supported version.
BodyTemplate
The <BodyTemplate>
 element provides the template from which a web service request body is built. This element is used when the POST method has to be used.
Note that several escapers are provided for use but you must perform the appropriate escaping because the escaping rules depend on the context of use.
Schema Name and Location
This element is defined in the urn:mace:shibboleth:2.0:resolver
namespace, the schema for which is located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
Example
The example demonstrates construction of a SOAP message.
<BodyTemplate MIMEType="text/xml"> <![CDATA[ <S:Envelope xmlns:S="http://www.w3.org/2001/12/soap-envelope"> <S:Body> <g:GetGroups xmlns:g="http://example.org/schema"> <g:Subject>$xmlContentEscaper.escape($employeeNumber.get(0))</g:Subject> </g:GetGroups> </S:Body> </S:Envelope> ]]> </BodyTemplate>
Configuration Reference
Attributes
Name | Type | Description |
---|---|---|
MIMEType | String | Content type to attach to the request |
charset | String | Character set parameter to qualify MIME type |
Child Elements
No child elements are defined.
Template Context
As enumerated below, several variables are available in the template context. In practice, $resolutionContext.principal
and various named dependent attributes (if any) tend to be most useful.
Name | Type | Description |
---|---|---|
| Commonly useful members include $resolutionContext. and $resolutionContext. | |
| List<IdPAttributeValue> | For each IdPAttribute available from all the provided dependencies, the attributes' values are available as a collection under the attribute's name. |
paramEscaper | com.google.common.escape.Escaper | For safe embedding of input data into a query parameter |
fragmentEscaper | com.google.common.escape.Escaper | For safe embedding of input data into a URL fragment |
pathEscaper | com.google.common.escape.Escaper | For safe embedding of input data into a URL path |
xmlAttributeEscaper | com.google.common.escape.Escaper | For safe embedding of input data into an XML attribute |
xmlContentEscaper | com.google.common.escape.Escaper | For safe embedding of input data in XML element content |
httpClientSecurityParameters | HttpClientSecurityParameters | Rarely of interest but provides access to security parameters to be used during call |