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