Exemplo n.º 1
0
 /**
  * __toString() test
  */
 public function test__toString()
 {
     $argv = array('string', true);
     $this->_request->setMethod('do.Something');
     $this->_request->setParams($argv);
     $xml = $this->_request->__toString();
     try {
         $sx = new SimpleXMLElement($xml);
     } catch (Exception $e) {
         $this->fail('Invalid XML returned');
     }
     $result = $sx->xpath('//methodName');
     $count = 0;
     while (list(, $node) = each($result)) {
         ++$count;
     }
     $this->assertEquals(1, $count, $xml);
     $result = $sx->xpath('//params');
     $count = 0;
     while (list(, $node) = each($result)) {
         ++$count;
     }
     $this->assertEquals(1, $count, $xml);
     try {
         $methodName = (string) $sx->methodName;
         $params = array((string) $sx->params->param[0]->value->string, (bool) $sx->params->param[1]->value->boolean);
     } catch (Exception $e) {
         $this->fail('One or more inconsistencies parsing generated XML: ' . $e->getMessage());
     }
     $this->assertEquals('do.Something', $methodName);
     $this->assertSame($argv, $params, $xml);
 }
Exemplo n.º 2
0
 /**
  * __toString() test
  */
 public function test__toString()
 {
     $argv = array('string', true);
     $this->_request->setMethod('do.Something');
     $this->_request->setParams($argv);
     $xml = $this->_request->__toString();
     $this->_testXmlRequest($xml, $argv);
 }
Exemplo n.º 3
0
 /**
  * Perform an XML-RPC request and return a response.
  *
  * @param Zend_XmlRpc_Request $request
  * @param null|Zend_XmlRpc_Response $response
  * @return void
  */
 public function doRequest($request, $response = null)
 {
     $this->_lastRequest = $request;
     iconv_set_encoding('input_encoding', 'UTF-8');
     iconv_set_encoding('output_encoding', 'UTF-8');
     iconv_set_encoding('internal_encoding', 'UTF-8');
     $http = $this->getHttpClient();
     $http->setUri($this->_serverAddress);
     $http->setHeaders(array('Content-Type: text/xml; charset=utf-8', 'User-Agent: Zend_XmlRpc_Client'));
     $xml = $this->_lastRequest->__toString();
     $http->setRawData($xml);
     $httpResponse = $http->request(Zend_Http_Client::POST);
     if (!$httpResponse->isSuccessful()) {
         throw new Zend_XmlRpc_Client_HttpException($httpResponse->getMessage(), $httpResponse->getStatus());
     }
     if ($response === null) {
         $response = new Zend_XmlRpc_Response();
     }
     $this->_lastResponse = $response;
     $this->_lastResponse->loadXml($httpResponse->getBody());
 }
Exemplo n.º 4
0
 /**
  * Perform an XML-RPC request and return a response.
  *
  * @param Zend_XmlRpc_Request $request
  * @param null|Zend_XmlRpc_Response $response
  * @return void
  * @throws Zend_XmlRpc_Client_HttpException
  */
 public function doRequest($request, $response = null)
 {
     $this->_lastRequest = $request;
     if (PHP_VERSION_ID < 50600) {
         iconv_set_encoding('input_encoding', 'UTF-8');
         iconv_set_encoding('output_encoding', 'UTF-8');
         iconv_set_encoding('internal_encoding', 'UTF-8');
     } else {
         ini_set('input_encoding', 'UTF-8');
         ini_set('output_encoding', 'UTF-8');
         ini_set('default_charset', 'UTF-8');
     }
     $http = $this->getHttpClient();
     if ($http->getUri() === null) {
         $http->setUri($this->_serverAddress);
     }
     $http->setHeaders(array('Content-Type: text/xml; charset=utf-8', 'Accept: text/xml'));
     if ($http->getHeader('user-agent') === null) {
         $http->setHeaders(array('User-Agent: Zend_XmlRpc_Client'));
     }
     $xml = $this->_lastRequest->__toString();
     $http->setRawData($xml);
     $httpResponse = $http->request(Zend_Http_Client::POST);
     if (!$httpResponse->isSuccessful()) {
         /**
          * Exception thrown when an HTTP error occurs
          * @see Zend_XmlRpc_Client_HttpException
          */
         throw new Zend_XmlRpc_Client_HttpException($httpResponse->getMessage(), $httpResponse->getStatus());
     }
     if ($response === null) {
         $response = new Zend_XmlRpc_Response();
     }
     $this->_lastResponse = $response;
     $this->_lastResponse->loadXml(trim($httpResponse->getBody()));
 }
Exemplo n.º 5
0
 /**
  * Perform an XML-RPC request and return a response.
  *
  * @param Zend_XmlRpc_Request $request
  * @param null|Zend_XmlRpc_Response $response
  * @return void
  * @throws Zend_XmlRpc_Client_HttpException
  */
 public function doRequest($request, $response = null)
 {
     $this->_lastRequest = $request;
     Zend_EncodingProxy::setOutputEncoding('UTF-8');
     Zend_EncodingProxy::setInputEncoding('UTF-8');
     Zend_EncodingProxy::setInternalEncoding('UTF-8');
     $http = $this->getHttpClient();
     if ($http->getUri() === null) {
         $http->setUri($this->_serverAddress);
     }
     $http->setHeaders(array('Content-Type: text/xml; charset=utf-8', 'Accept: text/xml'));
     if ($http->getHeader('user-agent') === null) {
         $http->setHeaders(array('User-Agent: Zend_XmlRpc_Client'));
     }
     $xml = $this->_lastRequest->__toString();
     $http->setRawData($xml);
     $httpResponse = $http->request(Zend_Http_Client::POST);
     if (!$httpResponse->isSuccessful()) {
         /**
          * Exception thrown when an HTTP error occurs
          * @see Zend_XmlRpc_Client_HttpException
          */
         // require_once 'Zend/XmlRpc/Client/HttpException.php';
         throw new Zend_XmlRpc_Client_HttpException($httpResponse->getMessage(), $httpResponse->getStatus());
     }
     if ($response === null) {
         $response = new Zend_XmlRpc_Response();
     }
     $this->_lastResponse = $response;
     $this->_lastResponse->loadXml(trim($httpResponse->getBody()));
 }
 /**
  * Perform an JSON-RPC request and return a response.
  *
  * @param Zend_Json_Server_Request $request
  * @param null|Zend_Json_Client_Response $response
  * @return void
  * @throws Zend_Json_Client_HttpException
  */
 public function doRequest($request, $response = null)
 {
     $this->_lastRequest = $request;
     #iconv_set_encoding('input_encoding', 'UTF-8');
     #iconv_set_encoding('output_encoding', 'UTF-8');
     #iconv_set_encoding('internal_encoding', 'UTF-8');
     $http = $this->getHttpClient();
     $http->setUri($this->_serverAddress);
     $http->setHeaders(array('Content-Type: application/json-rpc; charset=utf-8', 'User-Agent: Zend_Json_Client/' . Zend_Version::VERSION, 'Accept: application/json-rpc'));
     $json = $this->_lastRequest->__toString();
     $http->setRawData($json);
     $httpResponse = $http->request(Zend_Http_Client::POST);
     if (!$httpResponse->isSuccessful()) {
         /**
          * Exception thrown when an HTTP error occurs
          * @see Zend_XmlRpc_Client_HttpException
          */
         require_once 'Zend/Json/Client/HttpException.php';
         throw new Zend_Json_Client_HttpException($httpResponse->getMessage(), $httpResponse->getStatus());
     }
     if ($response === null) {
         $response = new Zend_Json_Client_Response();
     }
     $this->_lastResponse = $response;
     $this->_lastResponse->loadJson($httpResponse->getBody());
 }