当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_XmlRpc_Response::loadXml方法代码示例

本文整理汇总了PHP中Zend_XmlRpc_Response::loadXml方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_XmlRpc_Response::loadXml方法的具体用法?PHP Zend_XmlRpc_Response::loadXml怎么用?PHP Zend_XmlRpc_Response::loadXml使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zend_XmlRpc_Response的用法示例。


在下文中一共展示了Zend_XmlRpc_Response::loadXml方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testLoadXml

 /**
  * loadXml() test
  *
  * Call as method call 
  *
  * Expects:
  * - response: 
  * 
  * Returns: boolean 
  */
 public function testLoadXml()
 {
     $dom = new DOMDocument('1.0', 'UTF-8');
     $response = $dom->appendChild($dom->createElement('methodResponse'));
     $params = $response->appendChild($dom->createElement('params'));
     $param = $params->appendChild($dom->createElement('param'));
     $value = $param->appendChild($dom->createElement('value'));
     $value->appendChild($dom->createElement('string', 'Return value'));
     $xml = $dom->saveXML();
     $parsed = $this->_response->loadXml($xml);
     $this->assertTrue($parsed, $xml);
     $this->assertEquals('Return value', $this->_response->getReturnValue());
 }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:23,代码来源:ResponseTest.php

示例2: parse

 /**
  * {@inheritdoc}
  */
 public function parse($xmlString)
 {
     $response = new \Zend_XmlRpc_Response();
     try {
         $response->loadXml($xmlString);
     } catch (\Exception $e) {
         throw new ParserException($e->getMessage(), $e->getCode(), $e);
     }
     if ($response->isFault()) {
         $fault = $response->getFault();
         throw new FaultException($fault->getMessage(), $fault->getCode());
     }
     $result = $response->getReturnValue();
     $toBeVisited = [&$result];
     while (isset($toBeVisited[0]) && ($value =& $toBeVisited[0])) {
         $type = gettype($value);
         if ($type === 'array') {
             foreach ($value as &$element) {
                 $toBeVisited[] =& $element;
             }
             reset($value);
             // Reset all array pointers
         }
         array_shift($toBeVisited);
     }
     return $result;
 }
开发者ID:fxmlrpc,项目名称:serialization,代码行数:30,代码来源:Zend1Parser.php

示例3: testLoadXmlThrowsExceptionWithMissingNodes3

 public function testLoadXmlThrowsExceptionWithMissingNodes3()
 {
     $sxl = new \SimpleXMLElement('<?xml version="1.0"?><methodResponse><bar>foo</bar></methodResponse>');
     $this->assertFalse($this->_response->loadXml($sxl->asXML()));
     $this->assertTrue($this->_response->isFault());
     $fault = $this->_response->getFault();
     $this->assertEquals(652, $fault->getCode());
 }
开发者ID:nevvermind,项目名称:zf2,代码行数:8,代码来源:ResponseTest.php

示例4: _loadXml

 protected function _loadXml($xml)
 {
     try {
         $this->_response->loadXml($xml);
         $this->fail('Invalid XML-RPC response should raise an exception');
     } catch (Exception $e) {
     }
 }
开发者ID:omusico,项目名称:logica,代码行数:8,代码来源:ResponseTest.php

示例5: testDoesNotAllowExternalEntities

 /**
  * @group ZF-12293
  */
 public function testDoesNotAllowExternalEntities()
 {
     $payload = file_get_contents(dirname(__FILE__) . '/_files/ZF12293-response.xml');
     $payload = sprintf($payload, 'file://' . realpath(dirname(__FILE__) . '/_files/ZF12293-payload.txt'));
     $this->_response->loadXml($payload);
     $value = $this->_response->getReturnValue();
     $this->assertTrue(empty($value));
     if (is_string($value)) {
         $this->assertNotContains('Local file inclusion', $value);
     }
 }
开发者ID:navassouza,项目名称:zf2,代码行数:14,代码来源:ResponseTest.php

示例6: doRequest

 /**
  * 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());
 }
开发者ID:villos,项目名称:tree_admin,代码行数:28,代码来源:Client.php

示例7: doRequest

 /**
  * 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;
     iconv_set_encoding('input_encoding', 'UTF-8');
     iconv_set_encoding('output_encoding', 'UTF-8');
     iconv_set_encoding('internal_encoding', '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($httpResponse->getBody());
 }
开发者ID:blazeriaz,项目名称:youguess,代码行数:39,代码来源:Client.php

示例8: testLoadXmlThrowsExceptionWithMissingNodes3

 public function testLoadXmlThrowsExceptionWithMissingNodes3()
 {
     $sxl = new \SimpleXMLElement('<?xml version="1.0"?><methodResponse><bar>foo</bar></methodResponse>');
     $this->setExpectedException('Zend\\XmlRpc\\Exception\\ValueException', 'Missing XML-RPC value in XML');
     $this->_response->loadXml($sxl->asXML());
 }
开发者ID:rmarshall-quibids,项目名称:zf2,代码行数:6,代码来源:ResponseTest.php

示例9: testShouldDisallowsDoctypeInRequestXmlAndReturnFalseOnLoading

 public function testShouldDisallowsDoctypeInRequestXmlAndReturnFalseOnLoading()
 {
     $payload = file_get_contents(dirname(__FILE__) . '/_files/ZF12293-response.xml');
     $payload = sprintf($payload, 'file://' . realpath(dirname(__FILE__) . '/_files/ZF12293-payload.txt'));
     $this->assertFalse($this->_response->loadXml($payload));
 }
开发者ID:ThorstenSuckow,项目名称:conjoon,代码行数:6,代码来源:ResponseTest.php


注:本文中的Zend_XmlRpc_Response::loadXml方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。