'Resolve named references to other WSDL objects.
Ports without soap bindings are discarded.
@param definitions: A definitions object.
@type definitions: L{Definitions}'

def resolve(self, definitions):

    filtered = []
    for p in self.ports:
        ref = qualify(p.binding, self.root, definitions.tns)
        binding = definitions.bindings.get(ref)
        if (binding is None):
            raise Exception(("binding    '%s',    not-found" % p.binding))
        if (binding.soap is None):
            log.debug('binding    "%s"    -    not    a    soap,    discarded', binding.name)
            continue
        p.binding = binding
        filtered.append(p)
    self.ports = filtered
