Sorry,

False alarm, I'm testing against with the old distribution which not included Dan's fix
The java2ws works perfect, I'll commit a test in java2ws soon

Cheers,
James

Hi Dan,

Is it fix the java2ws tools as well, or just the runtime?
in the runtime the http header now should contain the "application/octet-stream", right?

But I tested with the java2ws, it's not working. the expectedContentTypes="image/png" still missing in the schema


James

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.




Reply via email to