You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Bharath Thippireddy <BT...@primavera.com> on 2008/04/29 20:11:10 UTC
Client side Attachments with CXF?
How can we retrieve the soap attachments on the CXF Client.When i try the
following it returns a null.
BindingProvider bp = (BindingProvider)port;
java.util.Map<String,Object> responseContext = bp.getResponseContext();
(Map<String,List<String>>)responseContext.get(MessageContext.
INBOUND_MESSAGE_ATTACHMENTS)
thanks and regards,
Bharath
Re: Client side Attachments with CXF?
Posted by Daniel Kulp <dk...@apache.org>.
No clue. Hmm......
Any chance you can produce a testcase for this? Maybe have the test
generate a big byte[] or something to try it? I know I've sent "medium
sized" attachments back and forth, around 2-3MB. How big are you talking?
Dan
Bharath Thippireddy wrote:
> Thanks a lot Dan.That helps/works.
> But when the soap attachment is too long i see the following exception on
> the server, when i invoke an other service after the attachment
> service.Any clue?
>
> --------------------------------------
> <ns1:Fault
> xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>ns1
> Server</faultcode><faultstring>Exception occurred while marshalling
> Dispatch ob
> ect to
> stream</faultstring></ns1:Fault>--------------------------------------
>
> Apr 30, 2008 4:47:29 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not send Message.
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEnd
> ngInterceptor.handleMessage(MessageSenderInterceptor.java:64)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep
> orChain.java:207)
> at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMes
> age(AbstractFaultChainInitiatorObserver.java:90)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep
> orChain.java:224)
> at
> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(Ou
> goingChainInterceptor.java:74)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep
> orChain.java:207)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInit
> ationObserver.java:73)
> at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(Servle
> Destination.java:79)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination
> ServletController.java:256)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletCon
> roller.java:160)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractC
> FServlet.java:170)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractC
> FServlet.java:148)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(App
> icationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Application
> ilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper
> alve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContext
> alve.java:174)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.
> ava:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.
> ava:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa
> ve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja
> a:151)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.jav
> :874)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.
> rocessConnection(Http11BaseProtocol.java:665)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndp
> int.java:528)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFo
> lowerWorkerThread.java:81)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Thread
> ool.java:689)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: ClientAbortException: java.net.SocketException: Connection
> reset by
> peer: socket write error
> at
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuff
> r.java:366)
> at
> org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
> at
> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java
> 314)
> at
> org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:2
> 8)
> at
> org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputS
> ream.java:104)
> at
> org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputS
> ream.close(AbstractHTTPDestination.java:426)
> at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteO
> tputStream.java:47)
> at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:1
> 7)
> at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:
> 6)
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEnd
> ngInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> ... 27 more
> Caused by: java.net.SocketException: Connection reset by peer: socket
> write err
> r
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at
> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at
> org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(Interna
> OutputBuffer.java:747)
> at
> org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
> at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
> at
> org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuff
> r.doWrite(InternalOutputBuffer.java:770)
> at
> org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(Chunked
> utputFilter.java:124)
> at
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutput
> uffer.java:580)
> at org.apache.coyote.Response.doWrite(Response.java:560)
> at
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuff
> r.java:361)
> ... 36 more
>
> thanks and regards,
> Bharath
>
> Daniel Kulp <dk...@apache.org> wrote on 04/30/2008 04:11:05 PM:
>
>>
>> Assuming you added the interceptor onto the clients IN chain, it should
>> add them to the response context. That said, it won't be a
>> Map<String<List<String>>. It will be a "List<Attachment>"
>> (technically, a LazyAttachmentCollection). Get the responseContext
>> EntrySet iterator and iterate over what is in there. That might help.
>>
>> (BTW: the other option would be to have the interceptor stick the
>> Attachment map into a public ThreadLocal or something that can be
>> retrieved by the client code.)
>>
>>> And can you please let me know the maximum size limit of a SOAP
>>> attachment in CXF.
>> Honestly, I don't think there is one. Once the attachment gets over a
>> certain size (default is 100K), if we need to unstream it off the wire
>> immediately (example, to get the third attachment when the current wire
>> position is on the second one), we spool it to temp files on disk.
>> Thus, it may depend on the file system.
>>
>> Dan
>>
>>
>> On Wednesday 30 April 2008, Bharath Thippireddy wrote:
>>> Dan,
>>>
>>> Does the work around really work.We retrieve the attachements from the
>>> message object and assign them on the same object.Does this add them
>>> to the request or the response contexts?.I could see the attachments
>>> coming in on the interceptor but not on the client yet.
>>>
>>> http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
>>>
>>> message.put("ATTACHMENTS", message.getAttachments());
>>>
>>> Map<String,List<String>> attachments = (Map<String,List<String>>)
>>> requestContext.get("ATTACHMENTS");
>>> or
>>> Map<String,List<String>> attachments = (Map<String,List<String>>)
>>> responseContext.get("ATTACHMENTS");
>>>
>>> still returns null.
>>>
>>> And can you please let me know the maximum size limit of a SOAP
>>> attachment in CXF.
>>>
>>> thanks and regards,
>>> Bharath
>>>
>>> Daniel Kulp <dk...@apache.org> wrote on 04/29/2008 03:04:25 PM:
>>>> Unfortunately, right now, there isn't. About a month ago, I dug
>>>> into this a little bit:
>>>> http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
>>>>
>>>> There is a workaround there. Could you log a feature request in
>>>> Jira
>>> to
>>>
>>>> make sure it's tracked?
>>>>
>>>> Thanks!
>>>> Dan
>>>>
>>>> On Tuesday 29 April 2008, Bharath Thippireddy wrote:
>>>>> How can we retrieve the soap attachments on the CXF Client.When i
>>>>> try the following it returns a null.
>>>>>
>>>>> BindingProvider bp = (BindingProvider)port;
>>>>> java.util.Map<String,Object> responseContext =
>>>>> bp.getResponseContext();
>>>>> (Map<String,List<String>>)responseContext.get(MessageContext.
>>>>> INBOUND_MESSAGE_ATTACHMENTS)
>>>>>
>>>>> thanks and regards,
>>>>> Bharath
>>>> --
>>>> J. Daniel Kulp
>>>> Principal Engineer, IONA
>>>> dkulp@apache.org
>>>> http://www.dankulp.com/blog
>>
>>
>> --
>> J. Daniel Kulp
>> Principal Engineer, IONA
>> dkulp@apache.org
>> http://www.dankulp.com/blog
>>
>
--
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog
Re: Client side Attachments with CXF?
Posted by Bharath Thippireddy <BT...@primavera.com>.
Thanks a lot Dan.That helps/works.
But when the soap attachment is too long i see the following exception on
the server, when i invoke an other service after the attachment
service.Any clue?
--------------------------------------
<ns1:Fault
xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>ns1
Server</faultcode><faultstring>Exception occurred while marshalling
Dispatch ob
ect to
stream</faultstring></ns1:Fault>--------------------------------------
Apr 30, 2008 4:47:29 PM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEnd
ngInterceptor.handleMessage(MessageSenderInterceptor.java:64)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep
orChain.java:207)
at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMes
age(AbstractFaultChainInitiatorObserver.java:90)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep
orChain.java:224)
at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(Ou
goingChainInterceptor.java:74)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep
orChain.java:207)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInit
ationObserver.java:73)
at
org.apache.cxf.transport.servlet.ServletDestination.doMessage(Servle
Destination.java:79)
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination
ServletController.java:256)
at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletCon
roller.java:160)
at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractC
FServlet.java:170)
at
org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractC
FServlet.java:148)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(App
icationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(Application
ilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper
alve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContext
alve.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.
ava:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.
ava:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa
ve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja
a:151)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.jav
:874)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.
rocessConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndp
int.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFo
lowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Thread
ool.java:689)
at java.lang.Thread.run(Thread.java:595)
Caused by: ClientAbortException: java.net.SocketException: Connection
reset by
peer: socket write error
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuff
r.java:366)
at
org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java
314)
at
org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:2
8)
at
org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputS
ream.java:104)
at
org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputS
ream.close(AbstractHTTPDestination.java:426)
at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteO
tputStream.java:47)
at
org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:1
7)
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:
6)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEnd
ngInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 27 more
Caused by: java.net.SocketException: Connection reset by peer: socket
write err
r
at java.net.SocketOutputStream.socketWrite0(Native Method)
at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at
org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(Interna
OutputBuffer.java:747)
at
org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
at
org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuff
r.doWrite(InternalOutputBuffer.java:770)
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(Chunked
utputFilter.java:124)
at
org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutput
uffer.java:580)
at org.apache.coyote.Response.doWrite(Response.java:560)
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuff
r.java:361)
... 36 more
thanks and regards,
Bharath
Daniel Kulp <dk...@apache.org> wrote on 04/30/2008 04:11:05 PM:
>
>
> Assuming you added the interceptor onto the clients IN chain, it should
> add them to the response context. That said, it won't be a
> Map<String<List<String>>. It will be a "List<Attachment>"
> (technically, a LazyAttachmentCollection). Get the responseContext
> EntrySet iterator and iterate over what is in there. That might help.
>
> (BTW: the other option would be to have the interceptor stick the
> Attachment map into a public ThreadLocal or something that can be
> retrieved by the client code.)
>
> > And can you please let me know the maximum size limit of a SOAP
> > attachment in CXF.
>
> Honestly, I don't think there is one. Once the attachment gets over a
> certain size (default is 100K), if we need to unstream it off the wire
> immediately (example, to get the third attachment when the current wire
> position is on the second one), we spool it to temp files on disk.
> Thus, it may depend on the file system.
>
> Dan
>
>
> On Wednesday 30 April 2008, Bharath Thippireddy wrote:
> > Dan,
> >
> > Does the work around really work.We retrieve the attachements from the
> > message object and assign them on the same object.Does this add them
> > to the request or the response contexts?.I could see the attachments
> > coming in on the interceptor but not on the client yet.
> >
> > http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
> >
> > message.put("ATTACHMENTS", message.getAttachments());
> >
> > Map<String,List<String>> attachments = (Map<String,List<String>>)
> > requestContext.get("ATTACHMENTS");
> > or
> > Map<String,List<String>> attachments = (Map<String,List<String>>)
> > responseContext.get("ATTACHMENTS");
> >
> > still returns null.
> >
> > And can you please let me know the maximum size limit of a SOAP
> > attachment in CXF.
> >
> > thanks and regards,
> > Bharath
> >
> > Daniel Kulp <dk...@apache.org> wrote on 04/29/2008 03:04:25 PM:
> > > Unfortunately, right now, there isn't. About a month ago, I dug
> > > into this a little bit:
> > > http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
> > >
> > > There is a workaround there. Could you log a feature request in
> > > Jira
> >
> > to
> >
> > > make sure it's tracked?
> > >
> > > Thanks!
> > > Dan
> > >
> > > On Tuesday 29 April 2008, Bharath Thippireddy wrote:
> > > > How can we retrieve the soap attachments on the CXF Client.When i
> > > > try the following it returns a null.
> > > >
> > > > BindingProvider bp = (BindingProvider)port;
> > > > java.util.Map<String,Object> responseContext =
> > > > bp.getResponseContext();
> > > > (Map<String,List<String>>)responseContext.get(MessageContext.
> > > > INBOUND_MESSAGE_ATTACHMENTS)
> > > >
> > > > thanks and regards,
> > > > Bharath
> > >
> > > --
> > > J. Daniel Kulp
> > > Principal Engineer, IONA
> > > dkulp@apache.org
> > > http://www.dankulp.com/blog
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>
Re: Client side Attachments with CXF?
Posted by Daniel Kulp <dk...@apache.org>.
Assuming you added the interceptor onto the clients IN chain, it should
add them to the response context. That said, it won't be a
Map<String<List<String>>. It will be a "List<Attachment>"
(technically, a LazyAttachmentCollection). Get the responseContext
EntrySet iterator and iterate over what is in there. That might help.
(BTW: the other option would be to have the interceptor stick the
Attachment map into a public ThreadLocal or something that can be
retrieved by the client code.)
> And can you please let me know the maximum size limit of a SOAP
> attachment in CXF.
Honestly, I don't think there is one. Once the attachment gets over a
certain size (default is 100K), if we need to unstream it off the wire
immediately (example, to get the third attachment when the current wire
position is on the second one), we spool it to temp files on disk.
Thus, it may depend on the file system.
Dan
On Wednesday 30 April 2008, Bharath Thippireddy wrote:
> Dan,
>
> Does the work around really work.We retrieve the attachements from the
> message object and assign them on the same object.Does this add them
> to the request or the response contexts?.I could see the attachments
> coming in on the interceptor but not on the client yet.
>
> http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
>
> message.put("ATTACHMENTS", message.getAttachments());
>
> Map<String,List<String>> attachments = (Map<String,List<String>>)
> requestContext.get("ATTACHMENTS");
> or
> Map<String,List<String>> attachments = (Map<String,List<String>>)
> responseContext.get("ATTACHMENTS");
>
> still returns null.
>
> And can you please let me know the maximum size limit of a SOAP
> attachment in CXF.
>
> thanks and regards,
> Bharath
>
> Daniel Kulp <dk...@apache.org> wrote on 04/29/2008 03:04:25 PM:
> > Unfortunately, right now, there isn't. About a month ago, I dug
> > into this a little bit:
> > http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
> >
> > There is a workaround there. Could you log a feature request in
> > Jira
>
> to
>
> > make sure it's tracked?
> >
> > Thanks!
> > Dan
> >
> > On Tuesday 29 April 2008, Bharath Thippireddy wrote:
> > > How can we retrieve the soap attachments on the CXF Client.When i
> > > try the following it returns a null.
> > >
> > > BindingProvider bp = (BindingProvider)port;
> > > java.util.Map<String,Object> responseContext =
> > > bp.getResponseContext();
> > > (Map<String,List<String>>)responseContext.get(MessageContext.
> > > INBOUND_MESSAGE_ATTACHMENTS)
> > >
> > > thanks and regards,
> > > Bharath
> >
> > --
> > J. Daniel Kulp
> > Principal Engineer, IONA
> > dkulp@apache.org
> > http://www.dankulp.com/blog
--
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog
Re: Client side Attachments with CXF?
Posted by Bharath Thippireddy <BT...@primavera.com>.
Dan,
Does the work around really work.We retrieve the attachements from the
message object and assign them on the same object.Does this add them to
the request or the response contexts?.I could see the attachments coming
in on the interceptor but not on the client yet.
http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
message.put("ATTACHMENTS", message.getAttachments());
Map<String,List<String>> attachments = (Map<String,List<String>>)
requestContext.get("ATTACHMENTS");
or
Map<String,List<String>> attachments = (Map<String,List<String>>)
responseContext.get("ATTACHMENTS");
still returns null.
And can you please let me know the maximum size limit of a SOAP attachment
in CXF.
thanks and regards,
Bharath
Daniel Kulp <dk...@apache.org> wrote on 04/29/2008 03:04:25 PM:
>
> Unfortunately, right now, there isn't. About a month ago, I dug into
> this a little bit:
> http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
>
> There is a workaround there. Could you log a feature request in Jira
to
> make sure it's tracked?
>
> Thanks!
> Dan
>
>
> On Tuesday 29 April 2008, Bharath Thippireddy wrote:
> > How can we retrieve the soap attachments on the CXF Client.When i try
> > the following it returns a null.
> >
> > BindingProvider bp = (BindingProvider)port;
> > java.util.Map<String,Object> responseContext =
> > bp.getResponseContext();
> > (Map<String,List<String>>)responseContext.get(MessageContext.
> > INBOUND_MESSAGE_ATTACHMENTS)
> >
> > thanks and regards,
> > Bharath
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>
Re: Client side Attachments with CXF?
Posted by Bharath Thippireddy <BT...@primavera.com>.
Dan,
Thanks for the work around.I figure out that its a client side
interceptor.
I have created a JIRA and i will follow up.
https://issues.apache.org/jira/browse/CXF-1559
thanks,
Bharath
Daniel Kulp <dk...@apache.org> wrote on 04/29/2008 03:04:25 PM:
>
> Unfortunately, right now, there isn't. About a month ago, I dug into
> this a little bit:
> http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
>
> There is a workaround there. Could you log a feature request in Jira
to
> make sure it's tracked?
>
> Thanks!
> Dan
>
>
> On Tuesday 29 April 2008, Bharath Thippireddy wrote:
> > How can we retrieve the soap attachments on the CXF Client.When i try
> > the following it returns a null.
> >
> > BindingProvider bp = (BindingProvider)port;
> > java.util.Map<String,Object> responseContext =
> > bp.getResponseContext();
> > (Map<String,List<String>>)responseContext.get(MessageContext.
> > INBOUND_MESSAGE_ATTACHMENTS)
> >
> > thanks and regards,
> > Bharath
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>
Re: Client side Attachments with CXF?
Posted by Daniel Kulp <dk...@apache.org>.
Unfortunately, right now, there isn't. About a month ago, I dug into
this a little bit:
http://www.nabble.com/Re:-SoapWithAttachments-p16500116.html
There is a workaround there. Could you log a feature request in Jira to
make sure it's tracked?
Thanks!
Dan
On Tuesday 29 April 2008, Bharath Thippireddy wrote:
> How can we retrieve the soap attachments on the CXF Client.When i try
> the following it returns a null.
>
> BindingProvider bp = (BindingProvider)port;
> java.util.Map<String,Object> responseContext =
> bp.getResponseContext();
> (Map<String,List<String>>)responseContext.get(MessageContext.
> INBOUND_MESSAGE_ATTACHMENTS)
>
> thanks and regards,
> Bharath
--
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog