• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Zend_XmlRpc_Response类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: 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


示例2: getServerResponseFor

 public function getServerResponseFor($nativeVars)
 {
     $response = new Zend_XmlRpc_Response();
     $response->setReturnValue($nativeVars);
     $xml = $response->saveXml();
     $response = $this->makeHttpResponseFrom($xml);
     return $response;
 }
开发者ID:SustainableCoastlines,项目名称:loveyourwater,代码行数:8,代码来源:ClientTest.php


示例3: __toString

 /**
  * Override __toString() to send HTTP Content-Type header
  *
  * @return string
  */
 public function __toString()
 {
     if (!headers_sent()) {
         header('Content-Type: text/xml; charset=' . strtolower($this->getEncoding()));
     }
     return parent::__toString();
 }
开发者ID:fredcido,项目名称:cenbrap,代码行数:12,代码来源:Http.php


示例4: call

 /**
  * Send an XML-RPC request to the service (for a specific method)
  *
  * @param string $method Name of the method we want to call
  * @param array $params Array of parameters for the method
  * @throws Zend_Http_Client_FaultException
  */
 public function call($method, $params = array())
 {
     //        if ('system.' != substr($method, 0, 7)) {
     //
     //            // Ensure empty array/struct params are cast correctly
     //
     //            $signatures = $this->getIntrospector()->getMethodSignature($method);
     //            foreach ($params as $key => $param) {
     //                if (is_array($param) && empty($param)) {
     //                    $type = 'array';
     //                    foreach ($signatures as $signature) {
     //                        if (!is_array($signature)) {
     //                            continue;
     //                        }
     //                        if (array_key_exists($key + 1, $signature)) {
     //                            $type = $signature[$key + 1];
     //                            $type = (in_array($type, array('array', 'struct'))) ? $type : 'array';
     //                            break;
     //                        }
     //                    }
     //                    $params[$key] = array(
     //                        'type'  => $type,
     //                        'value' => $param
     //                    );
     //                }
     //            }
     //        }
     $request = new Zend_XmlRpc_Request($method, $params);
     $this->doRequest($request);
     if ($this->_lastResponse->isFault()) {
         $fault = $this->_lastResponse->getFault();
         throw new Zend_XmlRpc_Client_FaultException($fault->getMessage(), $fault->getCode());
     }
     return $this->_lastResponse->getReturnValue();
 }
开发者ID:villos,项目名称:tree_admin,代码行数:42,代码来源:Client.php


示例5: __toString

 /**
  * Override __toString() to send HTTP Content-Type header
  * 
  * @return string
  */
 public function __toString()
 {
     if (!headers_sent()) {
         header('Content-Type: application/xml; charset=utf-8');
     }
     return parent::__toString();
 }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:12,代码来源:Http.php


示例6: 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


示例7: _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


示例8: call

 /**
  * Send an XML-RPC request to the service (for a specific method)
  * 
  * @param string $method Name of the method we want to call
  * @param array $params Array of parameters for the method
  * @throws Zend_Http_Client_FaultException
  */
 public function call($method, $params = array())
 {
     $request = new Zend_XmlRpc_Request($method, $params);
     $this->doRequest($request);
     if ($this->_lastResponse->isFault()) {
         $fault = $this->_lastResponse->getFault();
         throw new Zend_XmlRpc_Client_FaultException($fault->getMessage(), $fault->getCode());
     }
     return $this->_lastResponse->getReturnValue();
 }
开发者ID:josephholsten,项目名称:swaplady,代码行数:17,代码来源:Client.php


示例9: 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


示例10: test__toString

 /**
  * __toString() test
  *
  * Call as method call 
  *
  * Returns: string 
  */
 public function test__toString()
 {
     $this->_response->setReturnValue('return value');
     $xml = $this->_response->__toString();
     try {
         $sx = new SimpleXMLElement($xml);
     } catch (Exception $e) {
         $this->fail('Invalid XML returned');
     }
     $this->assertTrue($sx->params ? true : false);
     $this->assertTrue($sx->params->param ? true : false);
     $this->assertTrue($sx->params->param->value ? true : false);
     $this->assertTrue($sx->params->param->value->string ? true : false);
     $this->assertEquals('return value', (string) $sx->params->param->value->string);
 }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:22,代码来源:ResponseTest.php


示例11: call

 /**
  * Send an XML-RPC request to the service (for a specific method)
  * 
  * @param string $method Name of the method we want to call
  * @param array $params Array of parameters for the method
  * @param boolean $asResponseObject Return it as a response object instead of PHP native?
  * @throws Zend_Http_Client_FaultException
  */
 public function call($method, $params = array(), $asResponseObject = false)
 {
     $request = new Zend_XmlRpc_Request();
     $request->setMethod($method);
     $request->setParams($params);
     $this->doRequest($request);
     if ($asResponseObject) {
         return $this->_lastResponse;
     } else {
         if ($this->_lastResponse->isFault()) {
             $fault = $this->_lastResponse->getFault();
             throw new Zend_XmlRpc_Client_FaultException($fault->getMessage(), $fault->getCode());
         }
         return $this->_lastResponse->getReturnValue();
     }
 }
开发者ID:BackupTheBerlios,项目名称:openpublisher-svn,代码行数:24,代码来源:Client.php


示例12: call

 /**
  * Send an XML-RPC request to the service (for a specific method)
  *
  * @param string $method Name of the method we want to call
  * @param array $params Array of parameters for the method
  * @throws Zend_Http_Client_FaultException
  */
 public function call($method, $params = array())
 {
     if ('system.' != substr($method, 0, 7)) {
         // Ensure empty array/struct params are cast correctly
         // If system.* methods are not available, bypass. (ZF-2978)
         $success = true;
         try {
             $signatures = $this->getIntrospector()->getMethodSignature($method);
         } catch (Zend_XmlRpc_Exception $e) {
             $success = false;
         }
         if ($success) {
             foreach ($params as $key => $param) {
                 if (is_array($param) && empty($param)) {
                     $type = 'array';
                     foreach ($signatures as $signature) {
                         if (!is_array($signature)) {
                             continue;
                         }
                         if (array_key_exists($key + 1, $signature)) {
                             $type = $signature[$key + 1];
                             $type = in_array($type, array('array', 'struct')) ? $type : 'array';
                             break;
                         }
                     }
                     $params[$key] = array('type' => $type, 'value' => $param);
                 }
             }
         }
     }
     $request = new Zend_XmlRpc_Request($method, $params);
     $this->doRequest($request);
     if ($this->_lastResponse->isFault()) {
         $fault = $this->_lastResponse->getFault();
         throw new Zend_XmlRpc_Client_FaultException($fault->getMessage(), $fault->getCode());
     }
     return $this->_lastResponse->getReturnValue();
 }
开发者ID:jon9872,项目名称:zend-framework,代码行数:45,代码来源:Client.php


示例13: loadXML

 /**
  *
  */
 public function loadXML($response)
 {
     $valid = true;
     if (extension_loaded('WebServices')) {
         if (!is_string($response)) {
             $this->_fault = new Zend_XmlRpc_Fault(650);
             $this->_fault->setEncoding($this->getEncoding());
             return false;
         }
         try {
             $xml = @new SimpleXMLElement($response);
         } catch (Exception $e) {
             // Not valid XML
             $this->_fault = new Zend_XmlRpc_Fault(651);
             $this->_fault->setEncoding($this->getEncoding());
             return false;
         }
         if (!empty($xml->fault)) {
             // fault response
             $this->_fault = new Zend_XmlRpc_Fault();
             $this->_fault->setEncoding($this->getEncoding());
             $this->_fault->loadXml($response);
             return false;
         }
         if (empty($xml->params)) {
             // Invalid response
             $this->_fault = new Zend_XmlRpc_Fault(652);
             $this->_fault->setEncoding($this->getEncoding());
             return false;
         }
         $value = rpc_decode($response);
         $this->setReturnValue($value);
     } else {
         $valid = parent::loadXML($response);
     }
     return $valid;
 }
开发者ID:cwcw,项目名称:cms,代码行数:40,代码来源:Response.php


示例14: 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


示例15: 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


示例16: testSetGetEncoding

 /**
  * Test encoding settings
  */
 public function testSetGetEncoding()
 {
     $this->assertEquals('UTF-8', $this->_response->getEncoding());
     $this->_response->setEncoding('ISO-8859-1');
     $this->assertEquals('ISO-8859-1', $this->_response->getEncoding());
 }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:9,代码来源:ResponseTest.php


示例17: call

 /**
  * Send an XML-RPC request to the service (for a specific method)
  *
  * @param  string $method Name of the method we want to call
  * @param  array $params Array of parameters for the method
  * @return mixed
  * @throws Zend_XmlRpc_Client_FaultException
  */
 public function call($method, $params = array())
 {
     if (!$this->skipSystemLookup() && 'system.' != substr($method, 0, 7)) {
         // Ensure empty array/struct params are cast correctly
         // If system.* methods are not available, bypass. (ZF-2978)
         $success = true;
         try {
             $signatures = $this->getIntrospector()->getMethodSignature($method);
         } catch (Zend_XmlRpc_Exception $e) {
             $success = false;
         }
         if ($success) {
             $validTypes = array(Zend_XmlRpc_Value::XMLRPC_TYPE_ARRAY, Zend_XmlRpc_Value::XMLRPC_TYPE_BASE64, Zend_XmlRpc_Value::XMLRPC_TYPE_BOOLEAN, Zend_XmlRpc_Value::XMLRPC_TYPE_DATETIME, Zend_XmlRpc_Value::XMLRPC_TYPE_DOUBLE, Zend_XmlRpc_Value::XMLRPC_TYPE_I4, Zend_XmlRpc_Value::XMLRPC_TYPE_INTEGER, Zend_XmlRpc_Value::XMLRPC_TYPE_NIL, Zend_XmlRpc_Value::XMLRPC_TYPE_STRING, Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT);
             if (!is_array($params)) {
                 $params = array($params);
             }
             foreach ($params as $key => $param) {
                 if ($param instanceof Zend_XmlRpc_Value) {
                     continue;
                 }
                 $type = Zend_XmlRpc_Value::AUTO_DETECT_TYPE;
                 foreach ($signatures as $signature) {
                     if (!is_array($signature)) {
                         continue;
                     }
                     if (isset($signature['parameters'][$key])) {
                         $type = $signature['parameters'][$key];
                         $type = in_array($type, $validTypes) ? $type : Zend_XmlRpc_Value::AUTO_DETECT_TYPE;
                     }
                 }
                 $params[$key] = Zend_XmlRpc_Value::getXmlRpcValue($param, $type);
             }
         }
     }
     $request = $this->_createRequest($method, $params);
     $this->doRequest($request);
     if ($this->_lastResponse->isFault()) {
         $fault = $this->_lastResponse->getFault();
         /**
          * Exception thrown when an XML-RPC fault is returned
          * @see Zend_XmlRpc_Client_FaultException
          */
         #require_once 'Zend/XmlRpc/Client/FaultException.php';
         throw new Zend_XmlRpc_Client_FaultException($fault->getMessage(), $fault->getCode());
     }
     return $this->_lastResponse->getReturnValue();
 }
开发者ID:blazeriaz,项目名称:youguess,代码行数:55,代码来源:Client.php


示例18: call

 /**
  * Send an JSON-RPC request to the service (for a specific method)
  *
  * @param  string $method Name of the method we want to call
  * @param  array $params Array of parameters for the method
  * @return mixed
  * @throws Zend_Json_Client_FaultException
  */
 public function call($method, $params = array())
 {
     if (!$this->skipSystemLookup() && !empty($method)) {
         $signature = $this->getIntrospector()->getMethodSignature($method);
         foreach ($params as $key => $param) {
             if (is_int($key)) {
                 // positional parameters
                 // can't validate them
                 continue;
             }
             $keyFound = false;
             foreach ($signature["parameters"] as $parameter) {
                 if ($parameter['name'] == "{$key}") {
                     $keyFound = true;
                 }
             }
             if ($keyFound !== true) {
                 throw new Zend_Json_Client_FaultException("named parameter {$key} not found in SMD");
             }
         }
     }
     $request = new Zend_Json_Server_Request();
     $request->setVersion('2.0');
     $request->setId(1);
     $request->setMethod($method);
     $request->setParams($params);
     $this->doRequest($request);
     if ($this->_lastResponse->isError()) {
         $fault = $this->_lastResponse->getError();
         /**
          * Exception thrown when an JSON-RPC fault is returned
          * @see Zend_Json_Client_FaultException
          */
         require_once 'Zend/Json/Client/FaultException.php';
         throw new Zend_Json_Client_FaultException($fault->getMessage(), $fault->getCode());
     }
     return $this->_lastResponse->getResult();
 }
开发者ID:bitExpert,项目名称:Tine-2.0-Open-Source-Groupware-and-CRM,代码行数:46,代码来源:Client.php



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Zend_XmlRpc_Server类代码示例发布时间:2022-05-23
下一篇:
PHP Zend_XmlRpc_Request类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap