axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Francisco Fernandez Velasco" <ffernan...@nayadegroup.com>
Subject RE: SwA Axis2 implementation swaRef document literal
Date Mon, 31 Jul 2006 17:14:18 GMT
Thanks Anne, 

Now, I think I have the WSDL in the correct way:

<xsd:element name="enqueue-image">
<xsd:complexType>
	<xsd:sequence>
		<xsd:element name="meta-info" type="xsd:string"/>
			<xsd:element name="image-attachment">
			<xsd:complexType>
		        <xsd:simpleContent>
		          <xsd:extension base="xsd:base64Binary" >
			            <xsd:attribute ref="xmime:contentType"
use="required"/>
		          </xsd:extension>
		        </xsd:simpleContent>
			</xsd:complexType>
		</xsd:element>					
	</xsd:sequence>		
</xsd:complexType>
</xsd:element>


Also I have the axis2.xml with MTOM activated: 
<parameter name="enableMTOM" locked="false">true</parameter>

And I guess I´m using the generated Stub in the correct way:
image.setMetaInfo( "foo");
EnqueueImage.ImageAttachment imageAttachment =
EnqueueImage.ImageAttachment.Factory.newInstance();
imageAttachment.setByteArrayValue( data );
image.setImageAttachment( imageAttachment );
imageDoc.setEnqueueImage( image );
stub.enqueue_image( imageDoc );

But with the SOAPMonitor, I see the next message being transmitted: 

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<soapenv:Header/>
	<soapenv:Body>
		<enqueue-image>
			<meta-info>foo</meta-info>
	
<image-attachment>//zU8Guvrtr7aXm14hR7GyI42QkWK+KgyEQRY0yI9wyI9rBgt4URERERER
ERHyutByKM1IzUrqgEECBdCyBxqAg4ROyGeTHUtw2U5Yk+9PQ5QY/LGGHevw3/t6Jjv7f+303kGA
P/IMdb0ryY//9vSfQ/8sZb9v/17ehf0v9vT5BrCX+xomjsjhwTy4ICKeXVlwlkcUj6ulePiCQi44
i96blvCEq5lQZ0zPZnuHpqIiIiIiIiP//5bqp097om4egwyku2vbXt8Em0qsNLhtLtpdtLTa9tLt
hLsQuyMf0....../k4krqa//0g==</image-attachment>
		</enqueue-image>
	</soapenv:Body>
</soapenv:Envelope>


So I guess I am not using MTOM in the correct way because the image is being
sent base64 encoded and I guess that should be sent in mime type!!!

Any suggestion???

Thanks in advanced

-----Mensaje original-----
De: Anne Thomas Manes [mailto:atmanes@gmail.com] 
Enviado el: viernes, 28 de julio de 2006 18:59
Para: axis-dev@ws.apache.org
Asunto: Re: SwA Axis2 implementation swaRef document literal

When using MTOM, you define your binary content as xsd:base64binary
within your message element. At serialization time, MTOM automatically
extracts the binary data and attaches it in a separate MIME part. If
you want to predefine the type of binary content, then you can use the
xmime types defined in the "Assigning Media Types to Binary Data in
XML" specification [1]. Here's the example from the spec:

<?xml version="1.0" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:tns="http://example.com/ct-required"
           xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
           targetNamespace="http://example.com/ct-required">

    <xs:import namespace="http://www.w3.org/2005/05/xmlmime"
                schemaLocation="http://www.w3.org/2005/05/xmlmime"/>

    <!-- This element has binary content and requires the xmime:contentType
         attribute that indicates the content-type of the binary element -->
    <xs:element name="MyBinaryData">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:base64Binary" >
            <xs:attribute ref="xmime:contentType" use="required"/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>

</xs:schema>

[1] http://www.w3.org/TR/xml-media-types/

Anne

On 7/28/06, Francisco Fernandez Velasco <ffernandez@nayadegroup.com> wrote:
> Excuse me Anne, but I have tried to use MTOM with document literal but I
> didn´t know how. I don´t know how is the WSDL for support this.
>
> When I have tried to use MTOM, the WSDL2Java have generated methods that
> receive OMElement object as parameters. But I NEED that the stub has
methods
> that receive DataBinding objects (for example EnqueueImage see WSDL below)
> as parameters.
>
> Any suggestion? Thanks
>
> Regards
>
> -----Mensaje original-----
> De: Anne Thomas Manes [mailto:atmanes@gmail.com]
> Enviado el: viernes, 28 de julio de 2006 16:27
> Para: axis-dev@ws.apache.org
> Asunto: Re: SwA Axis2 implementation swaRef document literal
>
> As long as you're using Axis2, I suggest using MTOM rather than SwA.
>
> Anne
>
> On 7/28/06, Francisco Fernandez Velasco <ffernandez@nayadegroup.com>
wrote:
> >
> >
> >
> >
> > Thanks Rudolf. But seems that with Axis2 the generated Stub doesn´t have
> the
> > addAttachment method, so I don´t know how to send the image and I cannot
> use
> > the DataHandler.
> >
> >
> >
> > Thanks again. Regards
> >
> >
> >
> >  ________________________________
> >
> >
> > De: Rudolf Pailer [mailto:r.pailer@a1.net]
> >  Enviado el: viernes, 28 de julio de 2006 13:32
> >  Para: axis-dev@ws.apache.org
> >  Asunto: AW: SwA Axis2 implementation swaRef document literal
> >
> >
> >
> >
> > Hello Francisco!
> >
> >
> >
> > have a look at
> >
> > http://www.mail-archive.com/axis-user@xml.apache.org/msg08732.html
> >
> >
> >
> > regards
> >
> > Rudolf
> >
> >
> >
> >  ________________________________
> >
> >
> > Von: Francisco Fernandez Velasco [mailto:ffernandez@nayadegroup.com]
> >  Gesendet: Freitag, 28. Juli 2006 13:07
> >  An: axis-dev@ws.apache.org
> >  Betreff: SwA Axis2 implementation swaRef document literal
> >
> >   I need send an image to a webservice (document/literal) using SwA and
> > not base64 enconding because of performance problems.
> >
> > I have defined the next WSDL following the WS-I Profile:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> > xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
> >     <types>
> >         <xsd:schema
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd"
> > elementFormDefault="qualified">
> >              <xsd:import
> > namespace="http://ws-i.org/profiles/basic/1.1/xsd"
> > schemaLocation="http://ws-i.org/profiles/basic/1.1/xsd"/>
> >             <xsd:element name="emptyResponse">
> >                 <xsd:complexType/>
> >             </xsd:element>
> >             <xsd:element name="enqueueImage">
> >                 <xsd:complexType>
> >                     <xsd:sequence>
> >                         <xsd:element name="meta-info"
> > type="xsd:string"/>
> >                         <xsd:element name="image-attachment"
> > type="wsi:swaRef"/>
> >                     </xsd:sequence>
> >                 </xsd:complexType>
> >             </xsd:element>
> >         </xsd:schema>
> >     </types>
> >     <message name="enqueueImageRequest">
> >         <part name="image" element="enqueueImage"/>
> >     </message>
> >     <message name="emptyResponse"/>
> >     <portType name="XXXPortType">
> >         <operation name="enqueue_image">
> >             <input name="image"
> > message="tns:enqueueImageRequest"/>
> >             <output name="empty" message="tns:emptyResponse"/>
> >         </operation>
> >     </portType>
> >     <binding name="XXXBinding" type="XXXPortType">
> >         <soap:binding style="document"
> > transport="http://schemas.xmlsoap.org/soap/http"/>
> >         <operation name="enqueue_image">
> >             <soap:operation soapAction=""/>
> >             <input>
> >                 <soap:body use="literal"/>
> >             </input>
> >             <output>
> >                 <soap:body use="literal"/>
> >             </output>
> >         </operation>
> >     </binding>
> >     <service name="XXXSwA">
> >         <port name="XXXPortType" binding="XXXBinding">
> >             <soap:address location="http://"/>
> >         </port>
> >     </service>
> > </definitions>
> >
> > When I run WSDL2Java (xmlbeans data binding) it's generated a
> > EnqueueImage object with a method waiting for a SwaRef object and I
don´t
> > know
> > what to do with it:
> >
> > void
> > xsetImageAttachment(org.ws_i.profiles.basic._1_1.xsd.SwaRef
> > imageAttachment)
> >
> > I don´t know where to add the image that I want to send to the
> > WebService.
> >
> > Thanks and Regards.
> > Fran.
> >
> >
> >
> >  ------------------------------
> >  email scanned by Ikarus ContentWall
> >  filename: mailbody --> clean
> >  filename: mailbody(html) --> clean
> >  SCANMODULE: Ikarus vdb: 27.07.2006(67671) version: 0.2.65.0
> >  ------------------------------
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message