cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dickerson, Kyle B." <dickers...@llnl.gov>
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 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


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