in taverna-wsdl-generic/src/main/java/org/apache/taverna/wsdl/parser/WSDL11Parser.java [742:797]
private void checkWSRFPorts(Map<String, WSRF_Version> wsrfPorts) {
Collection<Service> services = definition.getAllServices().values();
for (Service service : services) {
Collection<Port> ports = service.getPorts().values();
loop:
for (Port port : ports) {
String portName = port.getName();
Binding binding = port.getBinding();
List<BindingOperation> bindingOperations = binding.getBindingOperations();
for(BindingOperation bindingOperation : bindingOperations) {
Operation operation = bindingOperation.getOperation();
String operationName = operation.getName();
for (WSRF_RPOperation resourcePropertyOperation : WSRF_RPOperation.values()) {
if (operationName.equals(resourcePropertyOperation.name())) {
try {
List<Part> parts = getInputParts(portName, operationName);
if (parts.size() > 0) {
Part part = parts.get(0);
QName qname = part.getElementName();
if (qname == null) {
qname = part.getTypeName();
}
if (qname != null) {
String namespace = qname.getNamespaceURI();
if (namespace != null && namespace.length() > 0) {
for (WSRF_Version wsrfVersion : WSRF_Version.values()) {
if (wsrfVersion.WSRF_RP.equals(namespace)) {
if (!WSRF_Version.Standard.equals(wsrfVersion)) {
logger.log(Level.WARNING, "draft WSRF version found for the WSRF operation: {0} ({1})", new Object[]{operationName, wsrfVersion.name()});
}
else {
String soapAction = getSOAPActionURI(bindingOperation);
if (soapAction == null) {
logger.log(Level.WARNING, "no soap action for the WSRF operation: {0}( {1})", new Object[]{operationName, resourcePropertyOperation.SOAP_ACTION});
} else if (!resourcePropertyOperation.SOAP_ACTION.equals(soapAction)) {
logger.log(Level.WARNING, "wrong soap action for the WSRF operation: {0}( {1})", new Object[]{operationName, resourcePropertyOperation.SOAP_ACTION});
}
}
wsrfPorts.put(portName, wsrfVersion);
break;
}
}
}
}
}
} catch (UnknownOperationException ex) {}
break loop;
}
}
}
}
}
}