Hi Thilina, Thank you for the detailed reply. I have read through the SOAP Messages with Attachments specification. You are right that "start" parameter in Content-Type is recommended.
I also looked through the Axiom code Attachments#getSOAPPartContentID(). It seems that Axiom assumes that every MIME part will have a content-ID. Even if I use XML Exchanger Lite to construct the MIME request, i.e., even if the original request's content-Type header does not contain "start" parameter and the SOAP Request Part does not have Content-ID header, the AXIOM will assign a content-ID to the SOAP Part. This is a good feature. I am considering the following solution, could you take a look and suggest for me? At the server side, I will invoke getSOAPPartContentID() to get the contentID of SOAP part. Then I exclude the soap part contentID from the contentID set, every remaining contentID will correspond to one actual attachment. By the way, currently I don't know how to get the "start" parameter value from Attachments class. Regards, Xinjun On 6/12/07, Thilina Gunarathne <[EMAIL PROTECTED]> wrote:
Hi, > <?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope > xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/ " > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd=" http://www.w3.org/2001/XMLSchema "> > <SOAP-ENV:Body > xmlns="http://ejb.hwams.trade.crimsonlogic.com/xsd "> > <submitManifest> > <senderID>acews01</senderID> > <password>testtest</password> > <docType>standard_cuscar</docType> > <submissionFileName> HQ-S-VIRTUALXML.CUSCAR.xml </submissionFileName> Looking at your earlier request it seems you expect submission file name to be the attachment content-id (though it's not required by the specs).. If you need it you need to set the file name as the content-id when adding the attachment to the attachment map of the message context.. > </submitManifest> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > --MIMEBoundaryurn_uuid_1483F52F7EBB91BE7D1181639175926 > Content-Type: application/octet-stream > Content-Transfer-Encoding: binary > Content-ID: <urn:uuid:1483F52F7EBB91BE7D1181639175549> > I have some questions about the server response: > > The whole SOAP response envelope is considered as an attachment with > content-ID = < > 0.urn:uuid:[EMAIL PROTECTED]>. > This is exactly the value of "start" HTTP header in the response. > > Is this a standard operation or it is proprietary to Axis2? It is recommended by the specifications, but not required.. If the start parameter is present in the content-id header, then the SOAP processors are expected to use the MIME part with the content-id of that value as the part containing the SOAP envelope.. If it is not present SOAP processors needs to treat the first MIME part as the part containing the SOAP envelope.. Axis2 puts the start parameter as well as it makes sure to send the SOAP envelope in the first MIME part, in order to make sure interoperability with most of the SOAP stacks.. > Can I assume the following: If content-ID of a part starts with > "<0.urn:uuid:", then it must be the SOAP request/response part? Nope...You can't... It can be any arbitrary string.. > If my web service assumes XML Exchanger Lite as client, I need to extract > the FIRST (index 0) content-ID and treat its content as attachment. But if > my web service assumes Axis2 ClientProgram as client, I need to extract the > second (index 1) content-ID and treat its content as attachment. Web services normally do not do client specific processing... They treat all the clients as same.. But you can work around this issue by putting a start parameter to the content-id header which points to the second MIME part when XML Ex. Lite is used... > How can I solve this interoperability issue on attachment? Still it's not clear me whether there is actually an interoperability issue... You can refer to the following articles to get more information about Axis2 SOAP with attachments support.. * Using SOAP with Attachments in Apache Axis2 - http://wso2.org/library/1148 * Downloading a Binary File from a Web Service using Axis2 and SOAP with Attachments - http://wso2.org/library/1675 thanks, Thilina > > > Regards, > Xinjun > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Thilina Gunarathne - http://www.wso2.com - http://thilinag.blogspot.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
