It's definitely a bug in XmlSchema. Updating to the latest version of XmlSchema helped a little bit, but not enough. It at least attempts to write the extensors. The problem is the parsing only saves the last extensor. I've worked around that bug by writing a Deserializer that actually works correctly so it should work now. Just committed the fix to trunk.
Dan On Tuesday 16 October 2007, Daniel Kulp wrote: > OK. Not a JAXB issue. Seems to be an XmlSchema issue. The DOM we > feed into XmlSchema contains the contenttype stuff. If I immediately > print the schema, it's gone. :-( > > Dan > > On Tuesday 16 October 2007, Daniel Kulp wrote: > > No, this is different. That thread talks about parameters to the > > SEI methods that should be attachments. In this case, this is a > > field inside one of the objects that is a parameter. This SHOULD > > work. We just pass the object class as-is to JAXB so this seems to > > be a JAXB issue. > > > > Dan > > > > On Tuesday 16 October 2007, Jim Ma wrote: > > > This is not supported in CXF . > > > This thread FYI: > > > http://www.nabble.com/MTOM-sample-generated-WSDL-with-DataHandler- > > >on -s erver-t4210895.html > > > > > > imorales wrote: > > > > Hi all. > > > > > > > > I´m trying to implemente a web service that uses MTOM > > > > Attachments. The way I´m doing is "Annotation if JAXB bean". The > > > > problem is that the wsdl that I generate with ant task > > > > "java2wsdl" doesn´t add the annotation > > > > @XmlMimeType("application/octet-stream") in the <wsdl:types>. > > > > > > > > My bean is: > > > > ---------------------------------------------------------------- > > > >-- -- -------- @XmlType > > > > public class FicheroXML { > > > > > > > > private String title; > > > > > > > > @XmlMimeType("application/octet-stream") > > > > private DataHandler xmlData; > > > > > > > > public String getTitle() {return title; } > > > > public void setTitle(String title) {this.title = title; } > > > > @XmlTransient public DataHandler getXmlData() { return > > > > xmlData;} public void setXmlData(DataHandler xmlData) > > > > {this.xmlData = xmlData;} } > > > > ---------------------------------------------------------------- > > > >-- -- -------- > > > > > > > > My service is: > > > > ---------------------------------------------------------------- > > > >-- -- -------- @WebService > > > > public interface ServicioFormularios { > > > > @WebResult(name="uuid") > > > > String guardaFormulario(@WebParam(name="xml")FicheroXML xml); > > > > } > > > > ---------------------------------------------------------------- > > > >-- -- -------- > > > > > > > > > > > > My cxf configuration is: > > > > ---------------------------------------------------------------- > > > >-- -- -------- <beans > > > > xmlns="http://www.springframework.org/schema/beans" > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > > xmlns:jaxws="http://cxf.apache.org/jaxws" > > > > xsi:schemaLocation="http://www.springframework.org/schema/beans > > > > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd > > > > http://cxf.apache.org/jaxws > > > > http://cxf.apache.org/schemas/jaxws.xsd"> > > > > > > > > <import resource="classpath:META-INF/cxf/cxf.xml"/> > > > > <import > > > > resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> > > > > <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> > > > > > > > > <jaxws:endpoint > > > > id="servicioFormulario" > > > > implementor="com.servicios.ServicioFormulariosImpl" > > > > address="/servicioFormulario"> > > > > <jaxws:properties> > > > > <entry key="mtom-enabled" value="true"/> > > > > </jaxws:properties> > > > > </jaxws:endpoint> > > > > </beans> > > > > ---------------------------------------------------------------- > > > >-- -- -------- > > > > > > > > The wsdl generated whit java2wsdl: > > > > ---------------------------------------------------------------- > > > >-- -- -------- . > > > > .. > > > > ... > > > > <xs:complexType name="ficheroXML"> > > > > <xs:sequence> > > > > <xs:element minOccurs="0" name="xmlData" > > > > type="xs:base64Binary"/> <xs:element minOccurs="0" name="title" > > > > type="xs:string"/> </xs:sequence> > > > > </xs:complexType> > > > > ... > > > > .. > > > > . > > > > <xs:complexType name="guardaFormulario"> > > > > <xs:sequence> > > > > <xs:element minOccurs="0" name="xml" type="ficheroXML"/> > > > > </xs:sequence> > > > > </xs:complexType> > > > > ... > > > > .. > > > > . > > > > ---------------------------------------------------------------- > > > >-- -- -------- > > > > > > > > Why the attribute > > > > (xmime:expectedContentTypes="application/octet-stream") isn´t in > > > > the "xmlData" element of "FicheroXML" ? > > > > > > > > Any ideas ... it seam like the annotation @XmlMimeType it´s not > > > > running. > > > > > > > > Thanks in advance. -- J. Daniel Kulp Principal Engineer IONA P: 781-902-8727 C: 508-380-7194 [EMAIL PROTECTED] http://www.dankulp.com/blog