use of com.sun.tools.ws.wsdl.document.soap.SOAPBinding in project metro-jax-ws by eclipse-ee4j.
the class PseudoSchemaBuilder method build.
private void build(Port port) {
if (wsdlModeler.isProvider(port))
return;
Binding binding = port.resolveBinding(wsdlDocument);
SOAPBinding soapBinding = (SOAPBinding) WSDLModelerBase.getExtensionOfType(binding, SOAPBinding.class);
// handled much earlier
if (soapBinding == null) {
soapBinding = (SOAPBinding) WSDLModelerBase.getExtensionOfType(binding, SOAP12Binding.class);
}
if (soapBinding == null)
return;
PortType portType = binding.resolvePortType(wsdlDocument);
QName bindingName = WSDLModelerBase.getQNameOf(binding);
// we dont want to process the port bound to the binding processed earlier
if (bindingNameToPortMap.containsKey(bindingName))
return;
bindingNameToPortMap.put(bindingName, port);
for (Iterator itr = binding.operations(); itr.hasNext(); ) {
BindingOperation bindingOperation = (BindingOperation) itr.next();
// get only the bounded operations
Set boundedOps = portType.getOperationsNamed(bindingOperation.getName());
if (boundedOps.size() != 1)
continue;
Operation operation = (Operation) boundedOps.iterator().next();
// No pseudo schema required for doc/lit
if (wsdlModeler.isAsync(portType, operation)) {
buildAsync(portType, operation, bindingOperation);
}
}
}
Aggregations