private function sendRequest($method, $args) { $request = new SXmlRpcRequest($method, $args); $headers = array("Content-Type: text/xml", "User-Agent: {$this->userAgent}", "Content-length: " . $request->length()); $client = new SHttpClient($this->uri, $headers); $response = $client->post($request->toXml()); if ($response->code != 200) { throw new SXmlRpcClientException("Request failed with code {$response->code}"); } return $this->parseResponse($response->body); }
public function testXmlPostRequest() { $xml = '<?xml version="1.0"?> <methodCall> <methodName>sample.sumAndDifference</methodName> <params> <param><value><i4>5</i4></value></param> <param><value><i4>3</i4></value></param> </params> </methodCall>'; $client = new SHttpClient('http://xmlrpc-c.sourceforge.net/api/sample.php', array('Content-Type: text/xml')); $response = $client->post($xml); $this->assertFalse(strpos($response->body, '<value><int>8</int></value>') === false); }