/*
* The contents of this file are subject to the terms of the Common Development and
* Distribution License (the License). You may not use this file except in compliance with the
* License.
*
* You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
* specific language governing permission and limitations under the License.
*
* When distributing Covered Software, include this CDDL Header Notice in each file and include
* the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
* Header, with the fields enclosed by brackets [] replaced by your own identifying
* information: "Portions copyright [year] [name of copyright owner]".
*
* Copyright 2016 ForgeRock AS.
*/
/**
* A {@link WSFederationAction} implementation that handles incoming MEX requests related to WS-Fed Active Requestor
* Profile.
*/
}
/**
* Currently two kind of requests are supported:
* <ul>
* <li>GET requests: The plain old WSDL is returned to the remote clients.</li>
* <li>POST requests with SOAP body: In this case a WS-Transport GetResponse is returned that embeds the WSDL in a
* MetadataSection element.</li>
* </ul>
* @throws ServletException If there was a problem whilst rendering the response.
* @throws IOException If there was an IO error whilst working with the request or response.
* @throws WSFederationException If there was an unrecoverable error while processing the request.
*/
}
}
throw new WSFederationException(WSFederationConstants.BUNDLE_NAME, "unableToFindIDPConfiguration", null);
}
final boolean activeRequestorEnabled = Boolean.parseBoolean(WSFederationMetaUtils.getAttribute(idpConfig,
if (!activeRequestorEnabled) {
return;
}
// If the MEX endpoint was accessed using POST, then this is a SOAP request and we should respond with a SOAP
// message. If the request was made using GET, then we should just return the WSDL.
if (DEBUG.messageEnabled()) {
DEBUG.message("SOAP message received: " + new String(baos.toByteArray(), Charset.forName("UTF-8")));
}
}
} catch (SOAPException se) {
}
} else {
}
}
}