You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Zoran Avtarovski <zo...@sparecreative.com> on 2013/11/13 05:34:52 UTC

Stream Result Returns Empty File

I¹m seeing a really strange issue in one of our struts apps with a stream
result where the downloaded file is empty (zero bytes).

I can¹t see where it is going wrong. I dynamically generate a zip file in
tomcat¹s temp folder and then use a Buffered input reader to pass off to the
struts stream.

I can the the zip file in the tomcat temp folder and it contains the data
it¹s supposed to. The issue is getting from the file to the input stream.
I¹ve included by struts configuration, the relevant part of my action and
the a detailed log.

I¹d appreciate any help.

Z.


My struts config :
        <action name="exportData" class="clientAction" method="exportData">
            <result name="success" type="stream">
                <param name="allowCaching">false</param>
                <param name="contentType">${documentContentType}</param>
                <param name="contentDisposition">${documentFileName}</param>
                <param name="contentLength">${documentContentLength}</param>
                <param name="bufferSize">1024</param>
            </result>
        </action>

In my action class :

            String filePrefix = System.getProperty("java.io.tmpdir") +
³/temporaryData.zip" ;
   LOGGER.debug("Read the generated file : "+ zipName);
            File tempFile = new File(zipName);
            if(tempFile.exists()){
                LOGGER.debug("The file exists : "+ zipName);
            }
            if(tempFile.canRead()){
                LOGGER.debug("The file can be read : "+ zipName);
            }
            if(tempFile.isFile()){
                LOGGER.debug("The file is a file : "+ zipName);
            }
            if(tempFile.isHidden()){
                LOGGER.debug("The file is hidden : "+ zipName);
            }
            LOGGER.debug("The file size is : "+ tempFile.length());

            inputStream = new BufferedInputStream(new
FileInputStream(tempFile));
            documentFileName = "attachment; filename=NfcData.zip";
            documentContentType = "application/zip";


My log files looks like this:

DEBUG [http-bio-8084-exec-24] - Zip file name :
/Users/zoran/Library/Application
Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
DEBUG [http-bio-8084-exec-24] - Read the generated file :
/Users/zoran/Library/Application
Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
DEBUG [http-bio-8084-exec-24] - The file exists :
/Users/zoran/Library/Application
Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
DEBUG [http-bio-8084-exec-24] - The file can be read :
/Users/zoran/Library/Application
Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
DEBUG [http-bio-8084-exec-24] - The file is a file :
/Users/zoran/Library/Application
Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
DEBUG [http-bio-8084-exec-24] - The file size is : 1441
DEBUG [http-bio-8084-exec-24] - Document File name : attachment;
filename=NfcData.zip
 Document Content Type : application/zip
DEBUG [http-bio-8084-exec-24] - Returning cached instance of singleton bean
'org.springframework.transaction.config.internalTransactionAdvisor'
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
org.apache.struts2.dispatcher.StreamResult] and property [allowCaching]
DEBUG [http-bio-8084-exec-24] - Converter is null for property
[allowCaching]. Mapping size [0]:
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[allowCaching] = none found
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[allowCaching] = 
com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
org.apache.struts2.dispatcher.StreamResult] and property [bufferSize]
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[bufferSize] = none found
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[bufferSize] = 
com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482
DEBUG [http-bio-8084-exec-24] - Creating converter of type
[com.opensymphony.xwork2.conversion.impl.NumberConverter]
DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
com.opensymphony.xwork2.DefaultTextProvider@907a831],
property=contentDisposition]
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - falling back to default type converter
[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
com.opensymphony.xwork2.DefaultTextProvider@907a831], property=contentType]
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - falling back to default type converter
[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
com.opensymphony.xwork2.DefaultTextProvider@907a831], property=inputName]
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - falling back to default type converter
[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
com.opensymphony.xwork2.DefaultTextProvider@907a831],
property=contentLength]
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - falling back to default type converter
[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
com.opensymphony.xwork2.DefaultTextProvider@907a831], property=bufferSize]
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - falling back to default type converter
[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
com.opensymphony.xwork2.DefaultTextProvider@907a831],
property=contentCharSet]
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[null] = none found
DEBUG [http-bio-8084-exec-24] - falling back to default type converter
[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
com.sparecreative.sms.gateway.action.ClientAction] and property
[documentContentLength]
DEBUG [http-bio-8084-exec-24] - Converter is null for property
[documentContentLength]. Mapping size [0]:
DEBUG [http-bio-8084-exec-24] - field-level type converter for property
[documentContentLength] = none found
DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
com.sparecreative.sms.gateway.action.ClientAction] and property
[documentContentLength.documentContentLength]
DEBUG [http-bio-8084-exec-24] - global-level type converter for property
[documentContentLength] = none found
DEBUG [http-bio-8084-exec-24] - falling back to default type converter
[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
DEBUG [http-bio-8084-exec-24] - Creating converter of type
[com.opensymphony.xwork2.conversion.impl.StringConverter]
DEBUG [http-bio-8084-exec-24] - Streaming result [inputStream]
type=[${documentContentType}] length=[${documentContentLength}]
content-disposition=[${documentFileName}] charset=[null]
DEBUG [http-bio-8084-exec-24] - Streaming to output buffer +++ START +++
DEBUG [http-bio-8084-exec-24] - Streaming to output buffer +++ END +++
DEBUG [http-bio-8084-exec-24] - after Locale=en_AU
DEBUG [http-bio-8084-exec-24] - intercept }




RE: Stream Result Returns Empty File

Posted by Martin Gainty <mg...@hotmail.com>.
Congrats on the good news Z

Martin  
______________________________________________ 


  


> Date: Thu, 14 Nov 2013 11:14:20 +1100
> Subject: Re: Stream Result Returns Empty File
> From: zoran@sparecreative.com
> To: user@struts.apache.org
> 
> Found the issue.
> 
> I hadn’t set the contentLength parameter.
> 
> In the latest update to 2.3.15 if the contentLength isn’t set it generates
> a zero length stream.
> 
> Once I set contentLength to tempFile.length() it all worked again.
> 
> Z.
> 
> 
> 
> On 13/11/2013 3:34 pm, "Zoran Avtarovski" <zo...@sparecreative.com> wrote:
> 
> >I¹m seeing a really strange issue in one of our struts apps with a stream
> >result where the downloaded file is empty (zero bytes).
> >
> >I can¹t see where it is going wrong. I dynamically generate a zip file in
> >tomcat¹s temp folder and then use a Buffered input reader to pass off to
> >the
> >struts stream.
> >
> >I can the the zip file in the tomcat temp folder and it contains the data
> >it¹s supposed to. The issue is getting from the file to the input stream.
> >I¹ve included by struts configuration, the relevant part of my action and
> >the a detailed log.
> >
> >I¹d appreciate any help.
> >
> >Z.
> >
> >
> >My struts config :
> > <action name="exportData" class="clientAction"
> >method="exportData">
> > <result name="success" type="stream">
> > <param name="allowCaching">false</param>
> > <param name="contentType">${documentContentType}</param>
> > <param
> >name="contentDisposition">${documentFileName}</param>
> > <param
> >name="contentLength">${documentContentLength}</param>
> > <param name="bufferSize">1024</param>
> > </result>
> > </action>
> >
> >In my action class :
> >
> > String filePrefix = System.getProperty("java.io.tmpdir") +
> >³/temporaryData.zip" ;
> > LOGGER.debug("Read the generated file : "+ zipName);
> > File tempFile = new File(zipName);
> > if(tempFile.exists()){
> > LOGGER.debug("The file exists : "+ zipName);
> > }
> > if(tempFile.canRead()){
> > LOGGER.debug("The file can be read : "+ zipName);
> > }
> > if(tempFile.isFile()){
> > LOGGER.debug("The file is a file : "+ zipName);
> > }
> > if(tempFile.isHidden()){
> > LOGGER.debug("The file is hidden : "+ zipName);
> > }
> > LOGGER.debug("The file size is : "+ tempFile.length());
> >
> > inputStream = new BufferedInputStream(new
> >FileInputStream(tempFile));
> > documentFileName = "attachment; filename=NfcData.zip";
> > documentContentType = "application/zip";
> >
> >
> >My log files looks like this:
> >
> >DEBUG [http-bio-8084-exec-24] - Zip file name :
> >/Users/zoran/Library/Application
> >Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
> >DEBUG [http-bio-8084-exec-24] - Read the generated file :
> >/Users/zoran/Library/Application
> >Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
> >DEBUG [http-bio-8084-exec-24] - The file exists :
> >/Users/zoran/Library/Application
> >Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
> >DEBUG [http-bio-8084-exec-24] - The file can be read :
> >/Users/zoran/Library/Application
> >Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
> >DEBUG [http-bio-8084-exec-24] - The file is a file :
> >/Users/zoran/Library/Application
> >Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
> >DEBUG [http-bio-8084-exec-24] - The file size is : 1441
> >DEBUG [http-bio-8084-exec-24] - Document File name : attachment;
> >filename=NfcData.zip
> > Document Content Type : application/zip
> >DEBUG [http-bio-8084-exec-24] - Returning cached instance of singleton
> >bean
> >'org.springframework.transaction.config.internalTransactionAdvisor'
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >org.apache.struts2.dispatcher.StreamResult] and property [allowCaching]
> >DEBUG [http-bio-8084-exec-24] - Converter is null for property
> >[allowCaching]. Mapping size [0]:
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[allowCaching] = none found
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[allowCaching] = 
> >com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >org.apache.struts2.dispatcher.StreamResult] and property [bufferSize]
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[bufferSize] = none found
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[bufferSize] = 
> >com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482
> >DEBUG [http-bio-8084-exec-24] - Creating converter of type
> >[com.opensymphony.xwork2.conversion.impl.NumberConverter]
> >DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
> >[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
> >com.opensymphony.xwork2.DefaultTextProvider@907a831],
> >property=contentDisposition]
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - falling back to default type converter
> >[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
> >DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
> >[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
> >com.opensymphony.xwork2.DefaultTextProvider@907a831],
> >property=contentType]
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - falling back to default type converter
> >[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
> >DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
> >[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
> >com.opensymphony.xwork2.DefaultTextProvider@907a831], property=inputName]
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - falling back to default type converter
> >[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
> >DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
> >[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
> >com.opensymphony.xwork2.DefaultTextProvider@907a831],
> >property=contentLength]
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - falling back to default type converter
> >[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
> >DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
> >[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
> >com.opensymphony.xwork2.DefaultTextProvider@907a831], property=bufferSize]
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - falling back to default type converter
> >[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
> >DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
> >[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
> >com.opensymphony.xwork2.DefaultTextProvider@907a831],
> >property=contentCharSet]
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[null] = none found
> >DEBUG [http-bio-8084-exec-24] - falling back to default type converter
> >[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >com.sparecreative.sms.gateway.action.ClientAction] and property
> >[documentContentLength]
> >DEBUG [http-bio-8084-exec-24] - Converter is null for property
> >[documentContentLength]. Mapping size [0]:
> >DEBUG [http-bio-8084-exec-24] - field-level type converter for property
> >[documentContentLength] = none found
> >DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
> >com.sparecreative.sms.gateway.action.ClientAction] and property
> >[documentContentLength.documentContentLength]
> >DEBUG [http-bio-8084-exec-24] - global-level type converter for property
> >[documentContentLength] = none found
> >DEBUG [http-bio-8084-exec-24] - falling back to default type converter
> >[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
> >DEBUG [http-bio-8084-exec-24] - Creating converter of type
> >[com.opensymphony.xwork2.conversion.impl.StringConverter]
> >DEBUG [http-bio-8084-exec-24] - Streaming result [inputStream]
> >type=[${documentContentType}] length=[${documentContentLength}]
> >content-disposition=[${documentFileName}] charset=[null]
> >DEBUG [http-bio-8084-exec-24] - Streaming to output buffer +++ START +++
> >DEBUG [http-bio-8084-exec-24] - Streaming to output buffer +++ END +++
> >DEBUG [http-bio-8084-exec-24] - after Locale=en_AU
> >DEBUG [http-bio-8084-exec-24] - intercept }
> >
> >
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
 		 	   		  

Re: Stream Result Returns Empty File

Posted by Zoran Avtarovski <zo...@sparecreative.com>.
Found the issue.

I hadn’t set the contentLength parameter.

In the latest update to 2.3.15 if the contentLength isn’t set it generates
a zero length stream.

Once I set contentLength to tempFile.length() it all worked again.

Z.



On 13/11/2013 3:34 pm, "Zoran Avtarovski" <zo...@sparecreative.com> wrote:

>I¹m seeing a really strange issue in one of our struts apps with a stream
>result where the downloaded file is empty (zero bytes).
>
>I can¹t see where it is going wrong. I dynamically generate a zip file in
>tomcat¹s temp folder and then use a Buffered input reader to pass off to
>the
>struts stream.
>
>I can the the zip file in the tomcat temp folder and it contains the data
>it¹s supposed to. The issue is getting from the file to the input stream.
>I¹ve included by struts configuration, the relevant part of my action and
>the a detailed log.
>
>I¹d appreciate any help.
>
>Z.
>
>
>My struts config :
>        <action name="exportData" class="clientAction"
>method="exportData">
>            <result name="success" type="stream">
>                <param name="allowCaching">false</param>
>                <param name="contentType">${documentContentType}</param>
>                <param
>name="contentDisposition">${documentFileName}</param>
>                <param
>name="contentLength">${documentContentLength}</param>
>                <param name="bufferSize">1024</param>
>            </result>
>        </action>
>
>In my action class :
>
>            String filePrefix = System.getProperty("java.io.tmpdir") +
>³/temporaryData.zip" ;
>   LOGGER.debug("Read the generated file : "+ zipName);
>            File tempFile = new File(zipName);
>            if(tempFile.exists()){
>                LOGGER.debug("The file exists : "+ zipName);
>            }
>            if(tempFile.canRead()){
>                LOGGER.debug("The file can be read : "+ zipName);
>            }
>            if(tempFile.isFile()){
>                LOGGER.debug("The file is a file : "+ zipName);
>            }
>            if(tempFile.isHidden()){
>                LOGGER.debug("The file is hidden : "+ zipName);
>            }
>            LOGGER.debug("The file size is : "+ tempFile.length());
>
>            inputStream = new BufferedInputStream(new
>FileInputStream(tempFile));
>            documentFileName = "attachment; filename=NfcData.zip";
>            documentContentType = "application/zip";
>
>
>My log files looks like this:
>
>DEBUG [http-bio-8084-exec-24] - Zip file name :
>/Users/zoran/Library/Application
>Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
>DEBUG [http-bio-8084-exec-24] - Read the generated file :
>/Users/zoran/Library/Application
>Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
>DEBUG [http-bio-8084-exec-24] - The file exists :
>/Users/zoran/Library/Application
>Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
>DEBUG [http-bio-8084-exec-24] - The file can be read :
>/Users/zoran/Library/Application
>Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
>DEBUG [http-bio-8084-exec-24] - The file is a file :
>/Users/zoran/Library/Application
>Support/NetBeans/7.4/apache-tomcat-7.0.41.0_base/temp/temporaryData.zip
>DEBUG [http-bio-8084-exec-24] - The file size is : 1441
>DEBUG [http-bio-8084-exec-24] - Document File name : attachment;
>filename=NfcData.zip
> Document Content Type : application/zip
>DEBUG [http-bio-8084-exec-24] - Returning cached instance of singleton
>bean
>'org.springframework.transaction.config.internalTransactionAdvisor'
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>org.apache.struts2.dispatcher.StreamResult] and property [allowCaching]
>DEBUG [http-bio-8084-exec-24] - Converter is null for property
>[allowCaching]. Mapping size [0]:
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[allowCaching] = none found
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[allowCaching] = 
>com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>org.apache.struts2.dispatcher.StreamResult] and property [bufferSize]
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[bufferSize] = none found
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[bufferSize] = 
>com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482
>DEBUG [http-bio-8084-exec-24] - Creating converter of type
>[com.opensymphony.xwork2.conversion.impl.NumberConverter]
>DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
>[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
>com.opensymphony.xwork2.DefaultTextProvider@907a831],
>property=contentDisposition]
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - falling back to default type converter
>[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
>DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
>[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
>com.opensymphony.xwork2.DefaultTextProvider@907a831],
>property=contentType]
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - falling back to default type converter
>[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
>DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
>[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
>com.opensymphony.xwork2.DefaultTextProvider@907a831], property=inputName]
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - falling back to default type converter
>[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
>DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
>[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
>com.opensymphony.xwork2.DefaultTextProvider@907a831],
>property=contentLength]
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - falling back to default type converter
>[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
>DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
>[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
>com.opensymphony.xwork2.DefaultTextProvider@907a831], property=bufferSize]
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - falling back to default type converter
>[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
>DEBUG [http-bio-8084-exec-24] - Entering nullPropertyValue
>[target=[com.sparecreative.sms.gateway.action.ClientAction@988c0a6,
>com.opensymphony.xwork2.DefaultTextProvider@907a831],
>property=contentCharSet]
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>com.opensymphony.xwork2.util.CompoundRoot] and property [(null)]
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[null] = none found
>DEBUG [http-bio-8084-exec-24] - falling back to default type converter
>[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>com.sparecreative.sms.gateway.action.ClientAction] and property
>[documentContentLength]
>DEBUG [http-bio-8084-exec-24] - Converter is null for property
>[documentContentLength]. Mapping size [0]:
>DEBUG [http-bio-8084-exec-24] - field-level type converter for property
>[documentContentLength] = none found
>DEBUG [http-bio-8084-exec-24] - Retrieving convert for class [class
>com.sparecreative.sms.gateway.action.ClientAction] and property
>[documentContentLength.documentContentLength]
>DEBUG [http-bio-8084-exec-24] - global-level type converter for property
>[documentContentLength] = none found
>DEBUG [http-bio-8084-exec-24] - falling back to default type converter
>[com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@5b6e6482]
>DEBUG [http-bio-8084-exec-24] - Creating converter of type
>[com.opensymphony.xwork2.conversion.impl.StringConverter]
>DEBUG [http-bio-8084-exec-24] - Streaming result [inputStream]
>type=[${documentContentType}] length=[${documentContentLength}]
>content-disposition=[${documentFileName}] charset=[null]
>DEBUG [http-bio-8084-exec-24] - Streaming to output buffer +++ START +++
>DEBUG [http-bio-8084-exec-24] - Streaming to output buffer +++ END +++
>DEBUG [http-bio-8084-exec-24] - after Locale=en_AU
>DEBUG [http-bio-8084-exec-24] - intercept }
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org