Hi Andreas, I sincerely thank you very much for letting me aware of this. I did a string replacement of all '\n' with '\r\n' and was able to upload the file. I was struggling with this small mistake since a long time due to ignorance of this.
Thank you very much again. Best Regards Siva On Tue, Jan 13, 2009 at 3:13 PM, Andreas Veithen <andreas.veit...@gmail.com>wrote: > As I said, the MIME specs specifically require CRLF. Therefore Axiom > is correct, but one can argue that it should trigger a clearer error > message if the client uses incorrect line endings. You need to fix > your ZSI client to use CRLF (10+13). > > Andreas > > On Tue, Jan 13, 2009 at 10:14, SivaKrishna Kumar <bsk...@gmail.com> wrote: > > Hi Andreas, > > Thank you for the reply. > > What you said is exactly correct. I built Axiom src locally on my laptop > in > > my eclipse and started debugging where exactly I am getting this error > with > > more debug prints. I have captured o/p of Axis2 console with this > > instrumented Axiom, when I ran my ZSI client and soapUI client. Please > see > > the attached console outputs. > > If we observe keenly, while parsing the MIME message for headers, when I > ran > > my ZSI client, Axis is unable to read the headers from the message. In > the > > "readHeaders" method of org.apache.axiom.attachments.impl.PartFactory, > Axiom > > is checking for Characted 10 and 13 for new line and blank line. As these > > were not detected in the MIME message, it is unable to parse MIME message > > for header and there by throwing this error. > > My fingers crossed on how to fix this ? :( > > Any suggestion in this regard would be highly helpful to me. > > Thanks & Regards > > Siva > > > > On Tue, Jan 13, 2009 at 4:46 AM, Andreas Veithen < > andreas.veit...@gmail.com> > > wrote: > >> > >> The problem is very probably due to incorrect line endings. The MIME > >> spec requires CRLF (Windows style) line endings. I just checked what > >> happens if Axiom received a MIME message with Unix style line endings, > >> and it gives exactly the message you got. > >> > >> Andreas > >> > >> On Fri, Jan 9, 2009 at 16:25, SivaKrishna Kumar <bsk...@gmail.com> > wrote: > >> > Hi Thillina, > >> > Thank you for your suggestion. > >> > Are you using any well known library for MIME?... > >> > Ans. I am trying to write the library itself. I am trying to add MTOM > >> > support to the opensource API ZSI ( Python based API for Web Services, > >> > like > >> > Axis). > >> > As on date, ZSI does not support attachment upload/download using > MTOM. > >> > Then try decoding it using a MIME library (eg: java mail) and try to > >> > access > >> > the part header fields like Content-ID. IF there is a error in your > >> > message > >> > format, this will make your debug life much easier. > >> > > >> > As you suggested, I need to do this. But I am not aware, how to > validate > >> > my > >> > MIME message itself. The one that I constructed in ZSI. I will explore > >> > using > >> > java mail as you suggesdted. Any points in this regard will be greatly > >> > helpful to me. > >> > Best Regards > >> > Siva > >> > > >> > > >> > On Fri, Jan 9, 2009 at 7:16 PM, Thilina Gunarathne <cset...@gmail.com > > > >> > wrote: > >> >> > >> >> If it's working with the same message from SOAPUI, then the reason > can > >> >> be > >> >> a formatting issue in the MIME message (EG; bad line break) . Are you > >> >> using > >> >> any well known library for MIME?... > >> >> > >> >> If possible first try to do a local test to verify your MIME > >> >> generation. > >> >> Eg:You can create the MIME using your client and save it directly to > >> >> the > >> >> file system. Then try decoding it using a MIME library (eg: java > mail) > >> >> and > >> >> try to access the part header fields like Content-ID. IF there is a > >> >> error in > >> >> your message format, this will make your debug life much easier. > >> >> > >> >> thanks, > >> >> Thilina > >> >> > >> >> On Fri, Jan 9, 2009 at 5:33 AM, SivaKrishna Kumar <bsk...@gmail.com> > >> >> wrote: > >> >>> > >> >>> Hi Andreas, > >> >>> Thank you for your kind reply. > >> >>> 1. By setting log level to DEBUG, I ran my MTOM Sample Python Client > >> >>> and > >> >>> captured log. > >> >>> 2. Using soapUI I ran the MTOMSample and captured the log. > >> >>> The idea is to do a diff of these two logs to understand where is > the > >> >>> problem. I noticed that > >> >>> 1. When I ran my client, Axis2 is not able to find > >> >>> 'Content-Transfer-Encoding' and 'Content-ID' headers. > >> >>> 2. Noticed that the content-length is idfferent in both the cases > for > >> >>> the > >> >>> same file :( > >> >>> I am attaching all the three files for your reference. > >> >>> Thanks & Regards > >> >>> Siva > >> >>> > >> >>> On Fri, Jan 9, 2009 at 12:54 AM, Andreas Veithen > >> >>> <andreas.veit...@gmail.com> wrote: > >> >>>> > >> >>>> Can you set the log level for org.apache.axiom.attachments to > DEBUG, > >> >>>> run this again and post the logs? That should allow us to identify > >> >>>> the > >> >>>> problem. > >> >>>> > >> >>>> Andreas > >> >>>> > >> >>>> On Thu, Jan 8, 2009 at 11:41, SivaKrishna Kumar <bsk...@gmail.com> > >> >>>> wrote: > >> >>>> > Hello All: > >> >>>> > This is Siva from Hyderabad, India. Can you please help me in an > >> >>>> > issue. Here > >> >>>> > is what I am stuck at. > >> >>>> > Zolera SOAP Infrastructure (ZSI) is an open source API written in > >> >>>> > Python for > >> >>>> > Web Services. ZSI doesn't support MTOM for attachment > >> >>>> > uploads/downloads over > >> >>>> > web services. I am trying to add this functionality to ZSI. > >> >>>> > For this I have modified ZSI to send attachments using MTOM. My > >> >>>> > developement > >> >>>> > environment is > >> >>>> > I am using Apache's Axis2 server for testing attachment upload. > As > >> >>>> > you > >> >>>> > are > >> >>>> > aware, Axis2 comes with an example for attachments uploading > using > >> >>>> > MTOM. I > >> >>>> > have written a client in Python which will talk to Axis2 server > >> >>>> > using > >> >>>> > ZSI. > >> >>>> > When I tried to run the MTOM Sample client that is written in > >> >>>> > Python > >> >>>> > with > >> >>>> > the changes made to ZSI for MTOM, I am getting the below error. > >> >>>> > "Part content ID cannot be blank for non root MIME parts" > >> >>>> > Here is the MTOMized SOAP message and the headers I am sending to > >> >>>> > the > >> >>>> > Axis2. > >> >>>> > > >> >>>> > > >> >>>> > > ************************************************************************************************************************************************************************************************************************************************************************* > >> >>>> > MIME SOAP Message: > >> >>>> > --==ZSI_MIME_BOUNDARY== > >> >>>> > Content-Transfer-Encoding: 7bit > >> >>>> > Content-Type: application/xop+xml; type="text/xml" > >> >>>> > Content-ID: <soaplibEnvelope> > >> >>>> > <ns0:Envelope > >> >>>> > xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/ > "><ns0:Header > >> >>>> > /><ns0:Body><ns1:AttachmentRequest > >> >>>> > > >> >>>> > > >> >>>> > xmlns:ns1="http://ws.apache.org/axis2/mtomsample/ > "><ns1:fileName>w:\WirelessDiagLog_axis_mtomexample_saved.rar</ns1:fileName><ns1:binaryData><ns2:Include > >> >>>> > href="cid:ZSIAttachment_1" > >> >>>> > xmlns:ns2="http://www.w3.org/2004/08/xop/include" > >> >>>> > > >> >>>> > > /></ns1:binaryData></ns1:AttachmentRequest></ns0:Body></ns0:Envelope> > >> >>>> > --==ZSI_MIME_BOUNDARY== > >> >>>> > Content-Type: application/octet-stream > >> >>>> > Content-Transfer-Encoding: 8bit > >> >>>> > Content-ID: <ZSIAttachment_1> > >> >>>> > //binary conent of the file > >> >>>> > --==ZSI_MIME_BOUNDARY==-- > >> >>>> > > >> >>>> > > >> >>>> > > ************************************************************************************************************************************************************************************************************************************************************************* > >> >>>> > Headers: > >> >>>> > SOAPAction: '"attachment"' > >> >>>> > Content-Length: 1213 > >> >>>> > Content-Type: 'multipart/related; > boundary="==ZSI_MIME_BOUNDARY=="; > >> >>>> > type="application/xop+xml"; start-info="text/xml"; > >> >>>> > start="<soaplibEnvelope>"' > >> >>>> > > >> >>>> > > >> >>>> > > ************************************************************************************************************************************************************************************************************************************************************************* > >> >>>> > I am not able to understand where is the problem in the changes I > >> >>>> > made > >> >>>> > to > >> >>>> > ZSI for adding MTOM support. > >> >>>> > Can you please help me out in this regard ? > >> >>>> > Thank you in advance, > >> >>>> > Regards > >> >>>> > Siva > >> >>> > >> >> > >> >> > >> >> > >> >> -- > >> >> Thilina Gunarathne - http://thilinag.blogspot.com > >> > > >> > > > > > >