[ 
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

Reply via email to