docs: def FaultFromZSIException(ex, actor=None):
      '''Return a Fault object created from a ZSI exception object.
      '''
      mystr = getattr(ex, 'str', None) or str(ex)
      mytrace = getattr(ex, 'trace', '')
      elt = '''<ZSI:ParseFaultDetail>
  <ZSI:string>%s</ZSI:string>
  <ZSI:trace>%s</ZSI:trace>
  </ZSI:ParseFaultDetail>
  ''' % (mystr, mytrace)
      if getattr(ex, 'inheader', 0):
          detail, headerdetail = None, elt
      else:
          detail, headerdetail = elt, None
      return Fault(Fault.Client, 'Unparseable message',
                  actor, detail, headerdetail)