docs: def deserialize(dataone_exception_xml):
      """Deserialize a DataONE Exception XML doc."""
      # logging.debug('dataone_exception_xml="{}"'
      # .format(d1_common.xml.pretty_xml(dataone_exception_xml)))
      try:
          dataone_exception_pyxb = d1_common.xml.deserialize_d1_exception(
              dataone_exception_xml
          )
      except ValueError as e:
          raise ServiceFailure(
              detailCode='0',
              description='Deserialization failed. error="{}" doc="{}"'.format(
                  str(e),
                  '<empty response>'
                  if not dataone_exception_xml
                  else dataone_exception_xml,
              ),
              traceInformation=traceback.format_exc(),
          )
      else:
          x = create_exception_by_name(
              dataone_exception_pyxb.name,
              dataone_exception_pyxb.detailCode,
              dataone_exception_pyxb.description,
              _get_trace_information_content(dataone_exception_pyxb),
              dataone_exception_pyxb.identifier,
              dataone_exception_pyxb.nodeId,
          )
          return x