WsdlOperation op = getMockOperation().getOperation();
if( op == null || op.isUnidirectional() )
return new MessagePart[0];
List<MessagePart> result = new ArrayList<MessagePart>();
WsdlContext wsdlContext = op.getInterface().getWsdlContext();
BindingOperation bindingOperation = op.findBindingOperation( wsdlContext.getDefinition() );
if( bindingOperation == null )
return new MessagePart[0];
// header parts
BindingOutput bindingOutput = bindingOperation.getBindingOutput();
List<SoapHeader> headers = bindingOutput == null ? new ArrayList<SoapHeader>() : WsdlUtils
.getSoapHeaders( bindingOutput.getExtensibilityElements() );
for( int i = 0; i < headers.size(); i++ )
{
SoapHeader header = headers.get( i );
Message message = wsdlContext.getDefinition().getMessage( header.getMessage() );
if( message == null )
{
log.error( "Missing message for header: " + header.getMessage() );
continue;
}