Some possibilities: 1.) From Step #5 of [1], make sure you have xmime:expectedContentTypes declared in your WSDL (you can see me using it under <element name="getWeatherForecastResponse" at the top).
2.) From Step #6 of [1], make sure you use @BindingType annotation just before your web service implementation. 3.) Also, your address in your cxf.xml ("/FileTransferWebService") may need to be a full URL as shown in our sample here[2]. HTH, Glen [1] http://www.jroller.com/gmazza/date/20071102 [2] http://cwiki.apache.org/confluence/display/CXF20DOC/MTOM#MTOM-ConfigFile Am Freitag, den 22.02.2008, 21:19 +0100 schrieb Eliú: > Hi, i'm new with CXF and i'm trying to use MTOM attachments in my web > services. > I followed the Apache CXF 2.0 User's Guide and right now i can get a binary > file from the server to my client using MTOM attachments. > My problem is that i cannot send a file from the client to the server using > MTOM. When I pass my JAXB class or the DataHandler > as a parameter to the Web Service, it always goes base64Binary encoded in > the request SOAP message. > In the server side, i have this endpoint declaration: > > *<jaxws:endpoint id="FileTransferWebService" > implementor=" > com.iafis.sici.server.webServiceImpl.FileTransferWebServiceImpl" > address="/FileTransferWebService"> > <jaxws:properties> > <entry key="mtom-enabled" value="true"/> > </jaxws:properties> > </jaxws:endpoint>* > > and this is my JAXB bean: > > [EMAIL PROTECTED] > public class BinaryFile { > > /** > * Contenido binario del archivo. > */ > @XmlMimeType("application/octet-stream") > private DataHandler imageData; > > /** > * @return el valor de imageData como InputStream > * @throws IOException en caso de error al obtener el > * InputStream a partir del DataHandler > */ > public InputStream getInputStream() throws IOException { > return imageData.getInputStream(); > } > > /** > * @param imageData el valor de imageData a establecer > */ > public void setImageData(DataHandler imageData) { > this.imageData = imageData; > } > }* > > When i call this service: > > *BinaryFile getOperationCodesFile(String filePath);* > > the file comes in the response SOAP as MTOM attachment, but when i call this > other: > > *void updateOpCodesFileOnServer(BinaryFile file, Date updateDate);* > > the file goes in the request message inside the Envelope of the SOAP message > encoded as a base64Binary. > I need to know if i can send the file to the server as a MTOM attachment > with CXF and annotations for JAXB beans. > Thanks in advance. > > P.D.: I'm not a member of this mailing list, so i'll thank you if you copy > your replay to this address. Thanks.