/** {@inheritDoc} */ @Override @Nullable public String apply(@Nullable final ProfileRequestContext input) { final SAMLObject response = responseLookupStrategy.apply(input); if (response != null) { if (response instanceof ResponseAbstractType) { return ((ResponseAbstractType) response).getInResponseTo(); } else if (response instanceof StatusResponseType) { return ((StatusResponseType) response).getInResponseTo(); } } return null; }
/** {@inheritDoc} */ protected void marshallAttributes(XMLObject samlElement, Element domElement) throws MarshallingException { ResponseAbstractType response = (ResponseAbstractType) samlElement; if (response.getID() != null) { domElement.setAttributeNS(null, ResponseAbstractType.ID_ATTRIB_NAME, response.getID()); if (response.getVersion() != SAMLVersion.VERSION_10) { domElement.setIdAttributeNS(null, ResponseAbstractType.ID_ATTRIB_NAME, true); } } if (response.getInResponseTo() != null) { domElement.setAttributeNS(null, ResponseAbstractType.INRESPONSETO_ATTRIB_NAME, response.getInResponseTo()); } if (response.getIssueInstant() != null) { String date = SAMLConfigurationSupport.getSAMLDateFormatter().print(response.getIssueInstant()); domElement.setAttributeNS(null, ResponseAbstractType.ISSUEINSTANT_ATTRIB_NAME, date); } domElement.setAttributeNS(null, RequestAbstractType.MAJORVERSION_ATTRIB_NAME, Integer.toString(response.getVersion().getMajorVersion())); domElement.setAttributeNS(null, RequestAbstractType.MINORVERSION_ATTRIB_NAME, Integer.toString(response.getVersion().getMinorVersion())); if (response.getRecipient() != null) { domElement.setAttributeNS(null, ResponseAbstractType.RECIPIENT_ATTRIB_NAME, response.getRecipient()); } }