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