15 public $hdrs = array();
16 public $_cookies = array();
17 public $content_type =
'text/xml';
18 public $raw_data =
'';
30 public function __construct($val, $fCode = 0, $fString =
'', $valType =
'')
34 $this->errno = $fCode;
35 $this->errstr = $fString;
41 if (is_object($this->val) && is_a($this->val,
'PhpXmlRpc\Value')) {
42 $this->valtyp =
'xmlrpcvals';
43 } elseif (is_string($this->val)) {
44 $this->valtyp =
'xml';
46 $this->valtyp =
'phpvals';
50 $this->valtyp = $valType;
98 return $this->_cookies;
112 if ($charsetEncoding !=
'') {
113 $this->content_type =
'text/xml; charset=' . $charsetEncoding;
115 $this->content_type =
'text/xml';
117 if (PhpXmlRpc::$xmlrpc_null_apache_encoding) {
118 $result =
"<methodResponse xmlns:ex=\"" . PhpXmlRpc::$xmlrpc_null_apache_encoding_ns .
"\">\n";
120 $result =
"<methodResponse>\n";
125 $result .=
"<fault>\n" .
126 "<value>\n<struct><member><name>faultCode</name>\n<value><int>" . $this->errno .
127 "</int></value>\n</member>\n<member>\n<name>faultString</name>\n<value><string>" .
128 Charset::instance()->encodeEntities($this->errstr, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) .
"</string></value>\n</member>\n" .
129 "</struct>\n</value>\n</fault>";
131 if (!is_object($this->val) || !is_a($this->val,
'PhpXmlRpc\Value')) {
132 if (is_string($this->val) && $this->valtyp ==
'xml') {
133 $result .=
"<params>\n<param>\n" .
135 "</param>\n</params>";
138 throw new \Exception(
'cannot serialize xmlrpc response objects whose content is native php values');
141 $result .=
"<params>\n<param>\n" .
142 $this->val->serialize($charsetEncoding) .
143 "</param>\n</params>";
146 $result .=
"\n</methodResponse>";
147 $this->payload = $result;