From: Michael Wallner Date: Tue, 10 Oct 2006 19:34:52 +0000 (+0000) Subject: - a service implemented with libxmlrpc-c3 chokes on a request content type X-Git-Tag: RELEASE_1_3_2~3 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=f39ea2b145caa37d9614a8a437ffd3d8914b52f0;p=m6w6%2Fext-http - a service implemented with libxmlrpc-c3 chokes on a request content type other than sole "text/xml" --- diff --git a/lib/XmlRpcClient.php b/lib/XmlRpcClient.php index c7abb2a..488e1cf 100644 --- a/lib/XmlRpcClient.php +++ b/lib/XmlRpcClient.php @@ -54,7 +54,7 @@ class XmlRpcClient * @param string $namespace RPC namespace * @param array $options HttpRequest options */ - public function __construct($url, $namespace = '', array $options = null) + public function __construct($url, $namespace = '', array $options = array()) { $this->__request = new HttpRequest($url, HttpRequest::METH_POST, $options); $this->__namespace = $namespace; @@ -70,15 +70,14 @@ class XmlRpcClient */ public function __call($method, array $params) { - if ($this->__namespace) { + if (strlen($this->__namespace)) { $method = $this->__namespace .'.'. $method; } - $this->__request->setContentType("text/xml; charset=". $this->__encoding); + $this->__request->setContentType("text/xml"); $this->__request->setRawPostData( xmlrpc_encode_request($method, $params, array("encoding" => $this->__encoding))); - $this->__request->send(); - $response = $this->__request->getResponseMessage(); + $response = $this->__request->send(); if ($response->getResponseCode() != 200) { throw new Exception( $response->getResponseStatus(),