예제 #1
0
  private void build(Port port) {
    if (wsdlModeler.isProvider(port)) return;
    Binding binding = port.resolveBinding(wsdlDocument);

    SOAPBinding soapBinding = (SOAPBinding) getExtensionOfType(binding, SOAPBinding.class);
    // lets try and see if its SOAP 1.2. dont worry about extension flag, its
    // handled much earlier
    if (soapBinding == null) {
      soapBinding = (SOAPBinding) 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);
      }
    }
  }
예제 #2
0
 private void build(Service service) {
   for (Iterator<Port> itr = service.ports(); itr.hasNext(); ) {
     build(itr.next());
   }
 }
예제 #3
0
 private void build() {
   for (Iterator<Service> itr = wsdlDocument.getDefinitions().services(); itr.hasNext(); ) {
     build(itr.next());
   }
 }