I think you can do something like:
((BindingProvider)client).getRequestContext()
.get(MessageContext.OUTBOUND_MESSAGE_ATTACHMENTS);
That should return a:
Map<String, DataHandler>
that you can use to add datahandlers.
Alternatively, you can create a Collection<Attachment> where the Attachments
implement org.ache.cxf.message.Attachment (you can use our AttachmentImpl
subclass) and add that to the RequestContext as above but with the key
Message.ATTACHMENTS. Thats the internal representation.
Dan
On Tuesday, September 06, 2011 2:48:10 AM opicina wrote:
> Hi i have some problem to add an attachment with cxf:
>
> *I have generate the cxf client:*
>
> /org.apache.cxf.jaxws.JaxWsProxyFactoryBean proxyFactory = new
> JaxWsProxyFactoryBean();
> proxyFactory.setServiceClass(ProtPT.class);
> proxyFactory.setAddress("http://xxxxxxx/services/xxxxxxxxxxxxx");
>
> Map<String,Object> props = new HashMap<String, Object>();
> props.put("mtom-enabled", Boolean.TRUE);
> props.put("schema-validation-enabled", Boolean.FALSE);
> proxyFactory.setProperties(props);
>
> client = (ProtPT) proxyFactory.create();/
>
> *now i would like to add an attachment; something like this:*
>
> File file = new File(DOC);
> FileDataSource ds = new FileDataSource(file);
>
> List<Attachment> attachments = new ArrayList<Attachment>();
> InternetHeaders headers = new InternetHeaders();
> headers.addHeader("Content-Type", "application/pdf");
> headers.addHeader("Content-ID", "doc.pdf");
> headers.addHeader("Content-Transfer-Encoding", "base64");
> headers.addHeader("Content-Disposition", "123456789034567834567");
>
> *now how can add this attachment to the request?*
> (the wsdl I use has no xsd:base64Binary element).
>
> With axis I now that I can use the attachmentPart but how does it work with
> cxf??
>
> thanks
>
>
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/add-attachment-to-a-cxf-client-tp4773822p47
> 73822.html Sent from the cxf-user mailing list archive at Nabble.com.
--
Daniel Kulp
[email protected]
http://dankulp.com/blog
Talend - http://www.talend.com