Extract logging fields from the request's suds.sax.element.Element.

  Args:
    document: A suds.sax.element.Element instance containing the API request.

  Returns:
    A dict mapping logging field names to their corresponding value.

def _ExtractRequestSummaryFields(document):
  """Extract logging fields from the request's suds.sax.element.Element.

  Args:
    document: A suds.sax.element.Element instance containing the API request.

  Returns:
    A dict mapping logging field names to their corresponding value.
  """
  headers = document.childAtPath('Header/RequestHeader')
  body = document.childAtPath('Body')

  summary_fields = {
      'methodName': body.getChildren()[0].name
  }

  # Extract AdWords-specific fields if they exist.
  # Note: We need to check if None because this will always evaluate False.
  client_customer_id = headers.getChild('clientCustomerId')
  if client_customer_id is not None:
    summary_fields['clientCustomerId'] = client_customer_id.text

  # Extract Ad Manager-specific fields if they exist.
  # Note: We need to check if None because this will always evaluate False.
  network_code = headers.getChild('networkCode')
  if network_code is not None:
    summary_fields['networkCode'] = network_code.text

  return summary_fields