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

Reply via email to