[
http://issues.apache.org/jira/browse/AXIS-2181?page=comments#action_12330546 ]
Clemente Simonetti commented on AXIS-2181:
------------------------------------------
Jan,
I have the same problem of Ferruh, I've tried your workaround but doesn't work.
Here is my code:
public class MyFileDataSource extends FileDataSource {
private InputStream is;
private boolean firstCall;
public MyFileDataSource(File file) {
super(file);
firstCall = true;
}
public InputStream getInputStream() throws java.io.IOException {
if (firstCall) {
this.is = super.getInputStream();
firstCall = false;
}
return is;
}
}
>>>SERVER
DataHandler dhSource = new DataHandler(new MyFileDataSource (downloadFile));
>>>CLIENT
AttachmentPart p = (AttachmentPart)
messageAttachments.getAttachmentByReference(fileName);
DataHandler dh = p.getDataHandler();
File attachedFile = new File(dh.getName());
dh.getDataSource().getInputStream().close();
> After sending an Attachments the local File can not removed from the
> filesystem ==> cause File is locked by axis?
> -----------------------------------------------------------------------------------------------------------------
>
> Key: AXIS-2181
> URL: http://issues.apache.org/jira/browse/AXIS-2181
> Project: Apache Axis
> Type: Bug
> Components: Basic Architecture
> Versions: 1.2
> Environment: Client: Windows 2000, PIII 800 MHz, 512 MB RAM.
> Server Windows 2003 Server, 512 MB.
> Reporter: Ferruh Zamangoer
> Priority: Critical
>
> Hi,
> we are using AXIS WS to send some MP3 files to an server where we register
> these files. The problem which occurred in our scenario is that after we have
> send the file we want to delete the local file on the filesystem. But we
> can?t delete the file because anything references or blocks the file. We have
> localized that the problem occurs in the part after the webservice call. When
> we uncomment the the part of the call the removing works. For sending our
> file as attachment we use the following code lines.
> boolean status = ws.registerContent("trebun",
> "password", ci); //call service
> System.out.println("status: " + status);
> File file = new
> File("MP3/RENCBER_DEWRANO_10_ELE__WWW.MP3"); //delete file
> boolean deleteState = file.delete(); ==> error occurs
> here?
> We cause for the error could be that a Stream are opened and not closed.
> FileDataSource fds = new FileDataSource(new File(filename));
> DataHandler contentHandler =
> new DataHandler(fds
> );
> The scenario can reproduced easily.
> 1. send and file to a server with attachment
> 2. After the Call of the webserice try to remove the local file without to
> shutdown your app.
> We are using on the client side the following Java Version:
> java version "1.4.2_05"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
> Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira