Christian put the sample client + servers I made up on GitHub: https://github.com/ctoestreich/soapClient
He's the author of the Grails plugin (cxf-client) that I'm using. The demo provides 4 very simple SOAP servers (1 MIME attachments, 1 non-MIME attachments, 1 Holders but no attachments, 1 no holders). I followed this guide to create them from handmade WSDLs: http://cxf.apache.org/docs/developing-a-service.html It also has a Grails 1.3.7 client that uses the cxf-client plugin to connect to the 4 SOAP servers and make a simple request that shows the issue with the attachments. I realize that's probably inconvenient for people on this list, but GRAILS is simple to install (it's just an unzip, an environment variable, and a path entry) and then you should be able to run the client using "grails run-app" from the "soapClient" folder. (The 1.3.7 release can be downloaded here: http://dist.springframework.org.s3.amazonaws.com/release/GRAILS/grails-1.3.7.zip) As for the logs: I have log4j set to 'all' for 'org.apache.cxf' but I don't see anything in the logs along the lines of "could not find service..." Dan, I'll send you a complete logging output offlist, maybe you'll be able to see something helpful in it. I can provide any other debug information desired. As I mentioned in an earlier post I injected a custom interceptor which I'm using to extract all sorts of information. -Kyle -----Original Message----- From: Daniel Kulp [mailto:dk...@apache.org] Sent: Wednesday, March 21, 2012 2:52 PM To: users@cxf.apache.org Cc: Dickerson, Kyle B. Subject: Re: SwAInInterceptor failing to process attachment - no SoapBodyInfo Can you create a sample that demonstrates this? Can you also test with the latest 2.5.3-SNAPSHOT? Also, is there anything "interesting" in the logs? The symptom is very similar to https://issues.apache.org/jira/browse/CXF-4106 where attachments were getting "lost" due to the SoapBodyInfo and other mime things getting "lost". I'd like to know if something in the logs was saying "could not find service..." or other message that would indicate it was creating a new binding. If so, 2.5.3-SNAPSHOT *MIGHT* already fix it. Dan On Wednesday, March 21, 2012 01:57:40 PM Dickerson, Kyle B. wrote: > This topic was previously: "CXF as Client - Response Attachment - > HolderInInterceptor IndexOutOfBoundsException" > > But this subject better represents the true issue > > > > SwAInInterceptor is failing to handle the attachment because SoapBodyInfo > is null. > > The relevant code from SwAInInterceptor.java is: > > > > BindingOperationInfo bop = message.getExchange().getBindingOperationInfo() > > if (bop.isUnwrapped()) {bop = bop.getWrappedOperation()} > > boolean client = isRequestor(message) // client == true > > BindingMessageInfo bmi = client ? bop.getOutput() : bop.getInput() > > SoapBodyInfo sbi = bmi.getExtensor(SoapBodyInfo.class) > > > > sbi is null at this point and a null check stops execution. So > messageContentsList is not populated with the attachment as it should be. > > > > Using reflection to investigate the BindingMessageInfo object I learn: > > 1. No delegate is in use. > > 2. The only extensor available is "SOAPBody > ({http://schemas.xmlsoap.org/wsdl/soap/}body): required=null > use=literal". > > 3. Don't know if this is relevant, if I ask the SOAPBody extensor its > class I get "$Proxy42" > > > > Since no extensor match is found for a SoapBodyInfo class we get a null > value returned, so sbi is null. > > > > Anyone have any thoughts on why SoapBodyInfo is coming back null? > > > > Thanks, > > Kyle -- Daniel Kulp dk...@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com