cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dickerson, Kyle B." <>
Subject SwAInInterceptor failing to process attachment - no SoapBodyInfo
Date Wed, 21 Mar 2012 20:57:40 GMT
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 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 ({}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?



  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message