'Resolve soap header I{message} references.
@param definitions: A definitions object.
@type definitions: L{Definitions}
@param op: An I{operation} object.
@type op: I{operation}'

def resolveheaders(self, definitions, op):

    soap = op.soap
    headers = (soap.input.headers + soap.output.headers)
    for header in headers:
        mn = header.message
        ref = qualify(mn, self.root, definitions.tns)
        message = definitions.messages.get(ref)
        if (message is None):
            raise Exception, ("message'%s',    not-found" % mn)
        pn = header.part
        for p in message.parts:
            if (p.name == pn):
                header.part = p
                break
        if (pn == header.part):
            raise Exception, ("message    '%s'    has    not    part    named    '%s'" % (ref, pn))
