/*
- * Copyright 2001-2006 Internet2
+ * Copyright 2001-2007 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
throw BindingException("Cannot encode XML content with parent.");
genericResponse.setContentType("text/xml");
+ HTTPResponse* httpResponse = dynamic_cast<HTTPResponse*>(&genericResponse);
+ if (httpResponse) {
+ httpResponse->setResponseHeader("Cache-Control", "no-cache, no-store, must-revalidate, private");
+ httpResponse->setResponseHeader("Pragma", "no-cache");
+ }
DOMElement* rootElement = NULL;
Response* response = dynamic_cast<Response*>(xmlObject);
Envelope* env = EnvelopeBuilder::buildEnvelope();
Body* body = BodyBuilder::buildBody();
env->setBody(body);
- body->getXMLObjects().push_back(response);
+ body->getUnknownXMLObjects().push_back(response);
if (credResolver ) {
if (response->getSignature()) {
log.debug("response already signed, skipping signature operation");
rootElement = env->marshall();
}
- string xmlbuf;
- XMLHelper::serialize(rootElement, xmlbuf);
- istringstream s(xmlbuf);
+ stringstream s;
+ s << *rootElement;
log.debug("sending serialized response");
long ret = genericResponse.sendResponse(s);
Envelope* env = EnvelopeBuilder::buildEnvelope();
Body* body = BodyBuilder::buildBody();
env->setBody(body);
- body->getXMLObjects().push_back(fault);
+ body->getUnknownXMLObjects().push_back(fault);
rootElement = env->marshall();
string xmlbuf;
bool error =
(env->getBody() &&
env->getBody()->hasChildren() &&
- dynamic_cast<Fault*>(env->getBody()->getXMLObjects().front()));
+ dynamic_cast<Fault*>(env->getBody()->getUnknownXMLObjects().front()));
string xmlbuf;
XMLHelper::serialize(rootElement, xmlbuf);