FYI:
this is now fixed on trunk and 2.1.x so the latest snapshots should work fine.
Dan
On Mon June 1 2009 2:43:05 pm Daniel Kulp wrote:
> There is definitely something wrong with the INBOUND_MESSAGE_ATTACHMENTS
> keys. Looking at the code:
>
> if (MessageContext.INBOUND_MESSAGE_ATTACHMENTS.equals(key)) {
> if (isOutbound()) {
> ret = reqMessage.get(key);
> }
> ret = createAttachments(getWrappedMessage(),
> MessageContext.INBOUND_MESSAGE_ATTACHMENTS);
> }
>
> The ret set in the isOutbound is always overwritten so that's irrelevant.
> getWrappedMessage also always re-creates things.
>
>
> You PROBABLY can get it to work by getting the
> "org.apache.cxf.message.Message.ATTACHMENTS" object which is most likely a
> Collection<Attachment>. If you need that as a standard map:
>
> Map<String, DataHandler> dataHandlers =
> AttachmentUtil.getDHMap(attachments);
>
> Dan
>
> On Sun May 31 2009 7:26:30 am zbale wrote:
> > Anyone please?
> >
> > Thanks!
> >
> > zbale wrote:
> > > Hi,
> > > When using CXF 2.1.2 and this code to get attachments:
> > > BindingProvider bp = (BindingProvider) client;
> > > java.util.Map<String, Object> responseContext =
> > > bp.getResponseContext();
> > > return (Map)
> > > responseContext.get(MessageContext.INBOUND_MESSAGE_ATTACHMENTS);
> > >
> > > Attachment was returned successfully.
> > >
> > > When moving to CXF 2.1.5 Attachments were not received with the exact
> > > same code above. Looking on responseContext Map I now see that instead
> > > of key javax.xml.ws.binding.attachments.inbound (this is the value of
> > > MessageContext.INBOUND_MESSAGE_ATTACHMENTS) there is a key
> > > "org.apache.cxf.message.Message.ATTACHMENTS".
> > > How should I get the attachment please? Am I doing something wrong?
> > > Anyone else having problems with attachments on 2.1.5?
> > >
> > > Thanks,
> > > Zbal Jr.
--
Daniel Kulp
[email protected]
http://www.dankulp.com/blog