protected String encodeAuthnRequest(Element authnRequestElement)
throws MarshallingException, IOException {
String requestMessage = DOM2Writer.nodeToString(authnRequestElement);
DeflateEncoderDecoder encoder = new DeflateEncoderDecoder();
byte[] deflatedBytes = encoder.deflateToken(requestMessage.getBytes("UTF-8"));
String encodedRequestMessage = Base64Utility.encode(deflatedBytes);
return URLEncoder.encode(encodedRequestMessage, "UTF-8");
}