}
private WSDLAwareMessage processMessageParts(BindingInput bindingInput) throws AxisFault {
WSDLAwareMessage message = new WSDLAwareMessage();
message.setBinding(wsdlBinding);
SOAPBody soapBodyDef = getFirstExtensibilityElement(bindingInput, SOAPBody.class);
if (soapBodyDef == null) {
String errMessage = "SOAPBody null for binding input.";
log.error(errMessage);
throw new AxisFault(errMessage);
}
QName axisOperationName = inMessageCtx.getAxisOperation().getName();
/**
* Local part of the axis Operation's name equals to WSDL Operation name.
*/
Operation op = wsdlBinding.getPortType().getOperation(axisOperationName.getLocalPart(),
null, null);
String rpcWrapper = op.getName();
List bodyParts = op.getInput().getMessage().getOrderedParts(soapBodyDef.getParts());
if (isRPC) {
message.setRPC(true);
QName rpWrapperQName = new QName(soapBodyDef.getNamespaceURI(), rpcWrapper);
OMElement partWrapper = inMessageCtx.getEnvelope().getBody().
getFirstChildWithName(rpWrapperQName);
if (partWrapper == null) {
String errMsg = "SOAP Body doesn't contain expected part wrapper.";
log.error(errMsg);