in taverna-wsdl-generic/src/main/java/org/apache/taverna/wsdl/parser/WSDL20Parser.java [264:300]
private BindingOperation getBindingOperation(String portName, String operationName) throws UnknownOperationException {
Binding[] bindings = null;
if (portName == null) {
bindings = description.getBindings();
} else {
loop:
for (Service service : description.getServices()) {
for (Endpoint endpoint : service.getEndpoints()) {
final NCName endpointName = endpoint.getName();
if (endpointName != null && endpointName.toString().equals(portName)) {
Binding binding = endpoint.getBinding();
if (binding != null) {
bindings = new Binding[] {binding};
break loop;
}
}
}
}
if (bindings == null) {
bindings = description.getBindings();
}
}
if (bindings != null) {
for (Binding binding : bindings) {
for (BindingOperation bindingOperation : binding.getBindingOperations()) {
InterfaceOperation interfaceOperation = bindingOperation.getInterfaceOperation();
if (interfaceOperation != null && operationName.equals(interfaceOperation.getName().getLocalPart())) {
return bindingOperation;
}
}
}
}
throw new UnknownOperationException("Unknown operation: " + operationName);
}