Re: DIME Uploads
Hi Brett, Dims is right, this is a bug and is partially resolved (thanks to Brian Husted) in the current CVS version. http://issues.apache.org/jira/browse/AXIS-2084 http://issues.apache.org/jira/browse/AXIS-2158 Hope this helps, Tom Brett wrote: Folks, I am using Axis 1.2.1 to upload DIME attachments (PDF docs) to an Asp.Net Web Service with WSE2. For small attachments (less than 1 MB) the file upload works fine. When the size increases to over 1 MB the Microsoft Web Services Extension throws an error. I am aware that maxRequestLength for httpRuntime and messaging in the web.config file need to be properly set for large attachments. However the error I get indicates that DIME records are out of sequence. The error message is as follows: HTTP/ASMX Message Receive Failure: Microsoft.Web.Services2.Dime.DimeFormatException: WSE309: The Type_T of the middle record chunk must not be 0 (Type_T=Unchanged). at Microsoft.Web.Services2.Dime.DimeRecord.CheckValid(String type, String id, TypeFormat typeFormat) at Microsoft.Web.Services2.Dime.DimeRecord.ReadHeader() at Microsoft.Web.Services2.Dime.DimeRecord.ReadBody(Byte[] buffer, Int32 offset, Int32 count) at Microsoft.Web.Services2.Dime.DimeStream.Read(Byte[] buffer, Int32 offset, Int32 count) at Microsoft.Web.Services2.StreamHelper.BinaryCopy(Stream from, Stream to, Int32 bufferSize) at Microsoft.Web.Services2.StreamHelper.BinaryCopy(Stream from, Stream to) at Microsoft.Web.Services2.Dime.DimeAttachmentCollection..ctor(DimeReader reader) at Microsoft.Web.Services2.Messaging.SoapDimeFormatter.Microsoft.Web.Services2.Messaging.ISoapFormatter.Deserialize(Stream stream) at Microsoft.Web.Services2.WebServicesExtension.BeforeDeserializeServer(SoapServerMessage message) The Web Service is clearly not expecting a 0 length record. When I look at the packets that come into the server from the uploading client during the failing sequence I see the following: - HTTP Request with the last chunk of the PDF file - HTTP Request with six bytes of zero from the client - TCP acknowledgement from the server - HTTP Reply from server 400 Bad Request A successful DIME upload has this sequence: - HTTP Request with the last chunk of the PDF file - TCP acknowledgement from the server - HTTP Request with six bytes of zero from the client - HTTP Reply from server 200 OK It seems as though Axis is sending an out of sequence request when the DIME attachment fails. It is worthwhile noting that all the data uploads to the server (even for files as large as 11 MB) it is the termination sequence that is problematic. Thanks for any help, Brett
Re: DIME Uploads
i believe there is a bug already reported. Please add your observations to that bug report. thanks, dims On 8/25/05, Brett <[EMAIL PROTECTED]> wrote: > > > > Folks, > > > > I am using Axis 1.2.1 to upload DIME attachments (PDF docs) to an Asp.Net > Web Service with WSE2. For small attachments (less than 1 MB) the file > upload works fine. When the size increases to over 1 MB the Microsoft Web > Services Extension throws an error. I am aware that maxRequestLength for > httpRuntime and messaging in the web.config file need to be properly set for > large attachments. However the error I get indicates that DIME records are > out of sequence. The error message is as follows: > > > > HTTP/ASMX Message Receive Failure: > Microsoft.Web.Services2.Dime.DimeFormatException: WSE309: > The Type_T of the middle record chunk must not be 0 (Type_T=Unchanged). > >at > Microsoft.Web.Services2.Dime.DimeRecord.CheckValid(String > type, String id, TypeFormat typeFormat) > >at Microsoft.Web.Services2.Dime.DimeRecord.ReadHeader() > >at > Microsoft.Web.Services2.Dime.DimeRecord.ReadBody(Byte[] > buffer, Int32 offset, Int32 count) > >at Microsoft.Web.Services2.Dime.DimeStream.Read(Byte[] > buffer, Int32 offset, Int32 count) > >at > Microsoft.Web.Services2.StreamHelper.BinaryCopy(Stream > from, Stream to, Int32 bufferSize) > >at > Microsoft.Web.Services2.StreamHelper.BinaryCopy(Stream > from, Stream to) > >at > Microsoft.Web.Services2.Dime.DimeAttachmentCollection..ctor(DimeReader > reader) > >at > Microsoft.Web.Services2.Messaging.SoapDimeFormatter.Microsoft.Web.Services2.Messaging.ISoapFormatter.Deserialize(Stream > stream) > >at > Microsoft.Web.Services2.WebServicesExtension.BeforeDeserializeServer(SoapServerMessage > message) > > > > The Web Service is clearly not expecting a 0 length record. > > > > When I look at the packets that come into the server from the uploading > client during the failing sequence I see the following: > > > > - HTTP Request with the last chunk of the PDF file > > - HTTP Request with six bytes of zero from the client > > - TCP acknowledgement from the server > > - HTTP Reply from server 400 Bad Request > > > > A successful DIME upload has this sequence: > > > > - HTTP Request with the last chunk of the PDF file > > - TCP acknowledgement from the server > > - HTTP Request with six bytes of zero from the client > > - HTTP Reply from server 200 OK > > > > It seems as though Axis is sending an out of sequence request when the DIME > attachment fails. It is worthwhile noting that all the data uploads to the > server (even for files as large as 11 MB) it is the termination sequence > that is problematic. > > > > Thanks for any help, > > > > Brett > > > > > > -- Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform