axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Meire (JIRA)" <>
Subject [jira] Created: (AXIS2-513) wsdl2java, MTOM and user-defined types
Date Fri, 24 Mar 2006 13:35:16 GMT
wsdl2java, MTOM and user-defined types

         Key: AXIS2-513
     Project: Apache Axis 2.0 (Axis2)
        Type: Bug
  Components: databinding, wsdl  
    Versions: 0.94    
    Reporter: Michael Meire

When trying to extend a user-defined type and adding an element that contains an xsd:base64Binary
type element, the wsdl2java-generated code does not support/use MTOM.

This bug report is the result of an email conversation on the axis2 axis-user mailing list.
Below, I include the most important excerpts of that conversation

----------------------------------- begin ----------------------------------------


The problem I'm facing is the following: I am creating a webservice, starting from a WSDL
file. I need file attachments, and therefore I want to use MTOM.
I also need some kind of "inheritance" and therefore I'm creating complex types that are extensions
of other types. Concretely I include something like the following:

    <xsd:complexType name="abc">
            <xsd:extension base="xyz">
                    <xsd:element name="loFileZipped" type="xsd:base64Binary"/>


My experiences so far with Axis2 v0.94 are the following:

    * when using wsdl2java using ADB, the abc-type is not taken into account ==> no java
class corresponding to this type is generated

# when using wsdl2java using xmlbeans, an abc-javaclass is generated, including a variable
byte[] getLoFileZipped()
So this option seems to do the trick for me. However, in this case, I can't get MTOM working.
The byte array is sent as inline xml within the SOAP message.
I have (as far as I know) followed the instructions for using MTOM. I also successfully tested
the MTOM sample that is included in the Axis2 distribution.

I think basically my question comes down to:
how can I use extension-complextypes in my wsdl, and still be able to use MTOM...


1. (robert lazarski)
Maybe this will help - anne wrote this a while back and gives an example that uses mtom and
extension base:

2. (Ajith Ranabahu)
I was actually going to write a long explanation for this but I see
Anne has done it (quite completely I should say) some time back.
Thanks Robert for pulling it out from the archives.
in the Axis2 setting, If you use XMLBeans, it'll actually correctly
mark the OM elements for optimization. So if you've codegned for the
optimized schema you should automatically get the optimized wire

3. (Anne Thomas Manes)
Actually, I don't think my previous posting directly answers Michael's question. My post indicated
how to extend the xsd:base64Binary type to indicate content type. In this case, Michael is
trying to extend a user-defined type and add an element that contains an xsd:base64Binary
type element.

Michael, you might try defining your loFileZipped element as type="xmime:base64Binary". If
that doesn't work, then I suggest you file a bug report.

----------------------------------- end ----------------------------------------

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message