You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Florian Rengers <re...@grit.de> on 2006/02/28 12:56:48 UTC
SOAP attachments Interoperability
Hi all,
I have to write a SOAP Service with Java that deliver different
documents like Word, pdf and image files.
As a Service Consumer I have to write a dotNET Client which invoke the
service with the identifier of the desired document.
I have three main questions:
1.)
There are many types of attachment handlings and encodings like MTOM,
sWA, DIME and MIME.
Which of these are really both supported from .NET and from a Java.
A read that I should use mime for an interoperable service, but I also
read that dotNET does not support MIME encoding.
2.)
Which Java Technology should I use for this, Apache Axis or JAX-WS?
3.)
Do I have to define the attachment type in the wsdl-file. I saw some
examples in which that was done.
This is a problem for me because as I described the attachment type will
differ for each response.
Hope that someone can help me out of my uncertainty.
greetings
Florian
Re: SOAP attachments Interoperability
Posted by Thilina Gunarathne <cs...@gmail.com>.
Hope you have already given a look at
http://ws.apache.org/axis2/0_94/mtom-guide.html
~Thilina
On 2/28/06, Anne Thomas Manes <at...@gmail.com> wrote:
>
> [same answer I posted on the JAX-WS list]
>
> Florian,
>
> There are three choices for attachment protocols:
> - WS-Attachments over DIME (DIME)
> - SOAP with Attachment over MIME (SwA)
> - MTOM over MIME (MTOM)
>
> ASP.NET <http://asp.net/> with WSE 2.0 supports DIME.
> ASP.NET <http://asp.net/> with WSE 3.0 supports MTOM
> WCF supports MTOM.
>
> JAX-WS supports SwA (by default) and MTOM (when enabled).
>
> Axis 1.x supports SwA and DIME.
> Axis 2 supports MTOM.
>
> The best choice for interoperability is definitely MTOM.
>
> When using MTOM, you don't actually define an attachment -- you simply
> define the binary file as part of your SOAP message as
> type="xsd:base64Binary" or type="xsd:hexBinary. MTOM automatically packages
> all binary types as MIME attachments for you transparently. You indicate the
> type of content in the element at runtime using an MTOM attribute extension,
> xmime:contentType. So, for example, the element would be define thus:
>
> <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>
>
> The xmime:base64Binary and xmime:hexBinary types have been predefined
> adding xmime:contentType attribute. In addition, you can identify what type
> of data might be expected in the element using the xmime:expectedContentType
> attribute. e.g.,
>
> xmime:expectedContentTypes="image/jpeg, image/png"
>
>
> These MTOM extensions are defined in the "Describing Media Content of
> Binary Data in XML" specification (
> http://www.w3.org/TR/2005/NOTE-xml-media-types-20050504/).
>
> Here are some useful links with samples/instructions:
> http://www.codeproject.com/soap/MTOMWebServices.asp
> http://java.sun.com/webservices/docs/2.0/jaxws/mtom-swaref.html
>
>
> Anne
>
>
> On 2/28/06, Florian Rengers <rengers@grit.de > wrote:
> >
> > Hi all,
> >
> > I have to write a SOAP Service with Java that deliver different
> > documents like Word, pdf and image files.
> >
> > As a Service Consumer I have to write a dotNET Client which invoke the
> > service with the identifier of the desired document.
> >
> >
> > I have three main questions:
> >
> > 1.)
> > There are many types of attachment handlings and encodings like MTOM,
> > sWA, DIME and MIME.
> > Which of these are really both supported from .NET and from a Java.
> > A read that I should use mime for an interoperable service, but I also
> > read that dotNET does not support MIME encoding.
> >
> > 2.)
> > Which Java Technology should I use for this, Apache Axis or JAX-WS?
> >
> > 3.)
> > Do I have to define the attachment type in the wsdl-file. I saw some
> > examples in which that was done.
> > This is a problem for me because as I described the attachment type will
> > differ for each response.
> >
> >
> > Hope that someone can help me out of my uncertainty.
> >
> > greetings
> >
> > Florian
> >
> >
>
--
"May the SourcE be with u"
http://webservices.apache.org/~thilina/
http://thilinag.blogspot.com/
http://www.bloglines.com/blog/Thilina
Re: SOAP attachments Interoperability
Posted by Anne Thomas Manes <at...@gmail.com>.
[same answer I posted on the JAX-WS list]
Florian,
There are three choices for attachment protocols:
- WS-Attachments over DIME (DIME)
- SOAP with Attachment over MIME (SwA)
- MTOM over MIME (MTOM)
ASP.NET <http://asp.net/> with WSE 2.0 supports DIME.
ASP.NET <http://asp.net/> with WSE 3.0 supports MTOM
WCF supports MTOM.
JAX-WS supports SwA (by default) and MTOM (when enabled).
Axis 1.x supports SwA and DIME.
Axis 2 supports MTOM.
The best choice for interoperability is definitely MTOM.
When using MTOM, you don't actually define an attachment -- you simply
define the binary file as part of your SOAP message as
type="xsd:base64Binary" or type="xsd:hexBinary. MTOM automatically packages
all binary types as MIME attachments for you transparently. You indicate the
type of content in the element at runtime using an MTOM attribute extension,
xmime:contentType. So, for example, the element would be define thus:
<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>
The xmime:base64Binary and xmime:hexBinary types have been predefined adding
xmime:contentType attribute. In addition, you can identify what type of data
might be expected in the element using the xmime:expectedContentType
attribute. e.g.,
xmime:expectedContentTypes="image/jpeg, image/png"
These MTOM extensions are defined in the "Describing Media Content of Binary
Data in XML" specification (
http://www.w3.org/TR/2005/NOTE-xml-media-types-20050504/).
Here are some useful links with samples/instructions:
http://www.codeproject.com/soap/MTOMWebServices.asp
http://java.sun.com/webservices/docs/2.0/jaxws/mtom-swaref.html
Anne
On 2/28/06, Florian Rengers <re...@grit.de> wrote:
>
> Hi all,
>
> I have to write a SOAP Service with Java that deliver different
> documents like Word, pdf and image files.
>
> As a Service Consumer I have to write a dotNET Client which invoke the
> service with the identifier of the desired document.
>
>
> I have three main questions:
>
> 1.)
> There are many types of attachment handlings and encodings like MTOM,
> sWA, DIME and MIME.
> Which of these are really both supported from .NET and from a Java.
> A read that I should use mime for an interoperable service, but I also
> read that dotNET does not support MIME encoding.
>
> 2.)
> Which Java Technology should I use for this, Apache Axis or JAX-WS?
>
> 3.)
> Do I have to define the attachment type in the wsdl-file. I saw some
> examples in which that was done.
> This is a problem for me because as I described the attachment type will
> differ for each response.
>
>
> Hope that someone can help me out of my uncertainty.
>
> greetings
>
> Florian
>
>