To really know that you are using MTOM you should be looking at your soap messages with tcpmon. If you are not using MTOM but are using base64Binary your soap will look something like this. Notice the <ns1:document> tag contains an encoded document directly embedded.
POST /axis2/services/DocHarborServices HTTP/1.1 SOAPAction: "urn:importDocument" User-Agent: Axis2 Host: 127.0.0.1:30004 Content-Length: <changed since I reduced this file> Content-Type: text/xml; charset=UTF-8 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header /> <soapenv:Body> <ns1:importDocument xmlns:ns1="urn:webservices.docharbor.com"> <ns1:users> <ns1:username>user1</ns1:username> <ns1:groupName>foldergroup</ns1:groupName> </ns1:users> <ns1:document>e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzEwMzN7XGZvbnR0Ymx7XGYwXGZzd2lzc1xmY2hhcnNldDAgQXJpYWw7fX0NCntcKlxnZW5lcmF0b3IgTXNmdGVkaXQgNS40MS4xNS4xNTA3O31cdmlld2tpbmQ0XHVjMVxwYXJkXGYwXGZzMjAgSSdtIHRoZSBkZWZhdWx0IGRvY3VtZW50IGZvciBpbXBvcnRhdGlvbi5ccGFyDQp9DQoA</ns1:document> </ns1:importDocument> </soapenv:Body> </soapenv:Envelope> If you are using MTOM, the same message will look like this. Notice the reference to the multipart mime in the <ns1:document> tag. The document is not encoded. The bytes appear directly (it is a MS word doc) POST /axis2/services/DocHarborServices HTTP/1.1 SOAPAction: "urn:importDocument" User-Agent: Axis2 Host: 127.0.0.1:30004 Content-Length: <changed since I reduced this file> Content-Type: multipart/related; boundary=MIMEBoundaryurn_uuid_C6B9C73E6321C6820C1175004575367; type="application/xop+xml"; start="<0.urn:uuid:[EMAIL PROTECTED]>"; start-info="text/xml"; charset=UTF-8--MIMEBoundaryurn_uuid_C6B9C73E6321C6820C1175004575367content-type: application/xop+xml; charset=UTF-8; type="text/xml";content-transfer-encoding: binarycontent-id: <0.urn:uuid:[EMAIL PROTECTED]> <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header /> <soapenv:Body> <ns1:importDocument xmlns:ns1="urn:webservices.docharbor.com"> <ns1:users> <ns1:username>user1</ns1:username> <ns1:groupName>foldergroup</ns1:groupName> </ns1:users> <ns1:document> <xop:Include href="cid:1.urn:uuid:[EMAIL PROTECTED]" xmlns:xop="http://www.w3.org/2004/08/xop/include" /> </ns1:document> </ns1:importDocument> </soapenv:Body> </soapenv:Envelope>--MIMEBoundaryurn_uuid_C6B9C73E6321C6820C1175004575367content-type: application/octet-streamcontent-transfer-encoding: binarycontent-id: <1.urn:uuid:[EMAIL PROTECTED]>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs20 I'm the default document for importation.\par} -----Original Message----- From: Thilina Gunarathne [mailto:[EMAIL PROTECTED] Sent: Friday, April 20, 2007 4:38 AM To: axis-user@ws.apache.org Subject: Re: using MTOM in a AXIOM-based WS > Yes I read the guide but I need a more complete example. You can have a look at the MTOM Sample in the Axis2 dist.. It contains a complete WSDL first sample... > In my MTOM implementation I did not used a base64 encoded string.. I > simply > did: You do not necessarily need to use base64 strings... MTOM optimised binary data is represented by the base64Bianry data type... >From the MTOM spec, "At the conceptual level, this binary data can be thought of as being base64-encoded in the XML Document. As this conceptual form might be needed during some processing of the XML Document (e.g., for signing the XML document), it is necessary to have a one-to-one correspondence between XML Infosets and XOP Packages. Therefore, the conceptual representation of such binary data is as if it were base64-encoded, using the canonical lexical form of XML Schema base64Binary datatype (see [XML Schema Part 2: Datatypes Second Edition] 3.2.16 base64Binary). In the reverse direction, XOP is capable of optimizing only base64-encoded Infoset data that is in the canonical lexical form." > And it does work wheter I transfer a txt, a pdf, a jpg...... > > The WSDL currently defines: > > <xs:element name="getPriceFileResponse"> > <xs:complexType> > <xs:sequence> > <xs:element name="priceFile" nillable="true" > type="xs:string" /> this needs to be xs:base64Binary... Thanks, Thilina > > Is this bad? > > Thanks > > > > On 4/20/07, Thilina Gunarathne <[EMAIL PROTECTED]> wrote: > > > > > I have question about the WSDL for the MTOM-based service... For > > > the operation which has a parameter which is a binary file, which > > > type should I declare for the parameter? string? > > base64Binary.. > > You may refer to here[1] as a guide... > > > > Thanks, > > Thilina > > > > [1] http://ws.apache.org/axis2/1_1_1/mtom-guide.html#25 > > > > > > In my enhanced StockQuoteservice.wsdl (which has a getPriceFile > > > method which receives a file name as input and returns a priceFile > > > as outpput), I wrote: > > > > > > <wsdl:types> > > > <xs:schema xmlns:xs=" > http://www.w3.org/2001/XMLSchema" > > > attributeFormDefault="qualified" > elementFormDefault="qualified" > > > targetNamespace=" http://quickstart.samples/xsd"> > > > <xs:element name="getPriceFile"> > > > <xs:complexType> > > > <xs:sequence> > > > <xs:element > name="priceFileName" nillable="true" type="xs:string" /> > > > </xs:sequence> > > > </xs:complexType> > > > </xs:element> > > > <xs:element name="getPriceFileResponse"> > > > <xs:complexType> > > > <xs:sequence> > > > <xs:element > name="priceFile" nillable="true" type="xs:string" /> > > > </xs:sequence> > > > </xs:complexType> > > > </xs:element> > > > > > > > > > Is this correct? > > > > > > Thank you very much > > > > > > > > > > > > > > > [1]http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/s > amples/deprecated/mtomsample/ > > > > [2]ws.apache.org/commons/tcpmon > > > > -- > > > > Thilina Gunarathne - http://www.wso2.com - > http://thilinag.blogspot.com > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > -- > > > Michele Amoretti, Ph.D. > > > Distributed Systems Group > > > Dipartimento di Ingegneria dell'Informazione Università degli > > > Studi di Parma http://www.ce.unipr.it/amoretti > > > > > > > --------------------------------------------------------------------- > > > 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] > > > > > > > > -- > Michele Amoretti, Ph.D. > Distributed Systems Group > Dipartimento di Ingegneria dell'Informazione Università degli Studi di > Parma http://www.ce.unipr.it/amoretti -- Thilina Gunarathne - http://www.wso2.com - http://thilinag.blogspot.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]