The source is a read-only copy that cannot be modified once the message is put into the channel. However, we can do what you need using the "Extract content as message" option. Below is the screenshot how to set the source to the content:

Script that will apppear in the Script window:
// this script will extract the first content from the HTTP Request and use it as the message
try {
// parse the bytes as an XML message
var originalMessage = qie.parseXMLString(new java.lang.String(bytesIn, qie.getChannelEncoding()), qie.getChannelEncoding());
var result = null;
// check if we need to base64 decode the content or not
if ('binary' === originalMessage.getNode('/Request/Part/content-transfer-encoding') + '') {
result = qie.base64DecodeToBytes(originalMessage.getNode('/Request/Part/Content').trim());
} else {
result = originalMessage.getNode('/Request/Part/Content').trim().getBytes(qie.getChannelEncoding());
}
bytesOut = result;
if (bytesOut === null) { //When null, the message is discarded and no further processing is done
qie.warn('Discarding message because no content was found: ' + new java.lang.String(bytesIn));
//todo: when bytesOut = null, set responseBytes to acknowledge the receipt of discarded messages as needed
responseBytes = new java.lang.String('HTTP Status: 400').getBytes(qie.getChannelEncoding());
}
} catch (err) {
qie.warn('Unable to run Preprocess script: ' + err);
bytesOut = bytesIn;
}