public Message invoke(Message msg) {
// Delete an entry
String id = (String)((Object[])msg.getBody())[0];
// Send an HTTP DELETE
DeleteMethod deleteMethod = new DeleteMethod(uri + "/" + id);
deleteMethod.setRequestHeader("Authorization", authorizationHeader);
try {
httpClient.executeMethod(deleteMethod);
int status = deleteMethod.getStatusCode();
if (status == 200) {
msg.setBody(null);
} else if (status == 404) {
if ( provider.supportsFeedEntries())
msg.setFaultBody(new NotFoundException());
else
msg.setFaultBody(new org.apache.tuscany.sca.data.collection.NotFoundException());
} else {
msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
}
} catch (Exception e) {
msg.setFaultBody(new ServiceRuntimeException(e));
} finally {
deleteMethod.releaseConnection();
}
return msg;
}