protected MessageHandler buildSAMLProtocolAndRoleHandler(final QName roleName)
        throws ComponentInitializationException {
        val protocolAndRoleHandler = new SAMLProtocolAndRoleHandler();
        protocolAndRoleHandler.setProtocol(SAMLConstants.SAML20P_NS);
        protocolAndRoleHandler.setRole(roleName);
        protocolAndRoleHandler.initialize();
        return protocolAndRoleHandler;
    }
<p>buildSAMLProtocolAndRoleHandler.</p>

@param roleName a {@link QName} object
@return a {@link MessageHandler} object
@throws ComponentInitializationException if any.
pac4j-saml/src/main/java/org/pac4j/saml/sso/artifact/DefaultSOAPPipelineFactory.java