public function getMessageType()
{
if ($this->messageType) {
return $this->messageType;
} else {
$xpath = $this->xPath();
$result = $xpath->query('/epp:epp/epp:response/epp:resData/domain:trnData');
if (is_object($result) && $result->length > 0) {
return self::TYPE_TRANSFER;
}
$result = $xpath->query('/epp:epp/epp:response/epp:resData/domain:creData');
if (is_object($result) && $result->length > 0) {
return self::TYPE_CREATE;
}
$result = $xpath->query('/epp:epp/epp:response/epp:resData/domain:chkData');
if (is_object($result) && $result->length > 0) {
return self::TYPE_CHECK;
}
$result = $xpath->query('/epp:epp/epp:response/epp:resData/domain:infData');
if (is_object($result) && $result->length > 0) {
return self::TYPE_INFO;
}
$result = $xpath->query('/epp:epp/epp:response/epp:resData/domain:panData');
if (is_object($result) && $result->length > 0) {
return self::TYPE_PAN;
}
$result = $xpath->query('/epp:epp/epp:response/epp:resData/domain:renData');
if (is_object($result) && $result->length > 0) {
return self::TYPE_RENEW;
}
throw new eppException("Type of message cannot be determined on EPP poll message");
}
}