'Resolve named references to other WSDL objects.
@param definitions: A definitions object.
@type definitions: L{Definitions}'

def resolve(self, definitions):

    for op in self.operations.values():
        if (op.input is None):
            op.input = Message(Element('no-input'), definitions)
        else:
            qref = qualify(op.input, self.root, definitions.tns)
            msg = definitions.messages.get(qref)
            if (msg is None):
                raise Exception(("msg    '%s',    not-found" % op.input))
            else:
                op.input = msg
        if (op.output is None):
            op.output = Message(Element('no-output'), definitions)
        else:
            qref = qualify(op.output, self.root, definitions.tns)
            msg = definitions.messages.get(qref)
            if (msg is None):
                raise Exception(("msg    '%s',    not-found" % op.output))
            else:
                op.output = msg
        for f in op.faults:
            qref = qualify(f.message, self.root, definitions.tns)
            msg = definitions.messages.get(qref)
            if (msg is None):
                raise Exception, ("msg    '%s',    not-found" % f.message)
            f.message = msg
