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]


Reply via email to