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;
}