SendMessageResponseItem.php
3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
namespace AliyunMNS\Model;
use AliyunMNS\Constants;
use AliyunMNS\Traits\MessageIdAndMD5;
/**
* if isSucceed() == TRUE, the messageId and messageBodyMD5 are returned.
* otherwise, the errorCode and errorMessage are returned.
*/
class SendMessageResponseItem
{
use MessageIdAndMD5;
protected $isSucceed;
protected $errorCode;
protected $errorMessage;
public function __construct($isSucceed, $param1, $param2)
{
$this->isSucceed = $isSucceed;
if ($isSucceed == TRUE)
{
$this->messageId = $param1;
$this->messageBodyMD5 = $param2;
}
else
{
$this->errorCode = $param1;
$this->errorMessage = $param2;
}
}
public function isSucceed()
{
return $this->isSucceed;
}
public function getErrorCode()
{
return $this->errorCode;
}
public function getErrorMessage()
{
return $this->errorMessage;
}
static public function fromXML($xmlReader)
{
$messageId = NULL;
$messageBodyMD5 = NULL;
$errorCode = NULL;
$errorMessage = NULL;
while ($xmlReader->read())
{
switch ($xmlReader->nodeType)
{
case \XMLReader::ELEMENT:
switch ($xmlReader->name) {
case Constants::MESSAGE_ID:
$xmlReader->read();
if ($xmlReader->nodeType == \XMLReader::TEXT)
{
$messageId = $xmlReader->value;
}
break;
case Constants::MESSAGE_BODY_MD5:
$xmlReader->read();
if ($xmlReader->nodeType == \XMLReader::TEXT)
{
$messageBodyMD5 = $xmlReader->value;
}
break;
case Constants::ERROR_CODE:
$xmlReader->read();
if ($xmlReader->nodeType == \XMLReader::TEXT)
{
$errorCode = $xmlReader->value;
}
break;
case Constants::ERROR_MESSAGE:
$xmlReader->read();
if ($xmlReader->nodeType == \XMLReader::TEXT)
{
$errorMessage = $xmlReader->value;
}
break;
}
break;
case \XMLReader::END_ELEMENT:
if ($xmlReader->name == 'Message')
{
if ($messageId != NULL)
{
return new SendMessageResponseItem(TRUE, $messageId, $messageBodyMD5);
}
else
{
return new SendMessageResponseItem(FALSE, $errorCode, $errorMessage);
}
}
break;
}
}
if ($messageId != NULL)
{
return new SendMessageResponseItem(TRUE, $messageId, $messageBodyMD5);
}
else
{
return new SendMessageResponseItem(FALSE, $errorCode, $errorMessage);
}
}
}
?>