{
try
{
// init
List<MessagePart> result = new ArrayList<MessagePart>();
WsdlContext wsdlContext = getInterface().getWsdlContext();
BindingOperation bindingOperation = findBindingOperation( wsdlContext.getDefinition() );
if( bindingOperation == null )
return new MessagePart[0];
// header parts
BindingOutput bindingOutput = bindingOperation.getBindingOutput();
if( bindingOutput == null )
return new MessagePart[0];
List<SoapHeader> headers = 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;
}