AuthnRequestType authnRequest = (new SAML2Request()).createAuthnRequestType(IDGenerator.create("ID_"), "http://sp",
"http://localhost:8080/idp", "http://sp");
StringWriter sw = new StringWriter();
SAML2Request request = new SAML2Request();
request.marshall(authnRequest, sw);
byte[] deflatedMsg = DeflateUtil.encode(sw.toString());
String base64Request = Base64.encodeBytes(deflatedMsg, Base64.DONT_BREAK_LINES);
base64Request = URLEncoder.encode(base64Request, "UTF-8");