Ich habe eine temporäre Datei mit Daten, die als Teil einer SOAP-Antwort über einen MTOM-Binärdateianhang zurückgegeben wird. Ich möchte sie gerne löschen, sobald der Methodenaufruf "endet" (d.h., der Transfer abgeschlossen ist). Wie kann ich das am besten tun? Der beste Weg, den ich herausfinden kann, ist, sie zu löschen, wenn die Sitzung beendet wird, aber ich bin mir nicht sicher, ob es eine 'direktere' Möglichkeit gibt, das zu tun.
FYI, ich verwende kein Axis, sondern jax-ws, falls das eine Rolle spielt.
UPDATE: Ich bin mir nicht sicher, ob die Antwortenden das Problem wirklich verstehen. Ich weiß, wie man in Java eine Datei löscht. Mein Problem ist folgendes:
@javax.jws.WebService
public class MyWebService {
...
@javax.jws.WebMethod
public MyFileResult getSomeObject() {
File mytempfile = new File("tempfile.txt");
MyFileResult result = new MyFileResult();
result.setFile(mytempfile); // setzt mytempfile als MTOM-Anhang
// mytempfile.delete() IST FALSCH
// kann mytempfile nicht löschen, da es noch nicht an den Web-Service-Client zurückgegeben wurde
// also wie kann ich es entfernen?
return result;
}
}