Source for file jSoapRequest.class.php

Documentation is available at jSoapRequest.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  core_request
  5. @author      Sylvain de Vathaire
  6. @copyright   2008 Sylvain de Vathaire
  7. @link        http://www.jelix.org
  8. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  9. */
  10.  
  11. /**
  12. * handle a soap call. The response has to be a soap response.
  13. @package  jelix
  14. @subpackage core_request
  15. */
  16. class jSoapRequest extends jRequest {
  17.  
  18.     public $type = 'soap';
  19.  
  20.     public $defaultResponseType = 'soap';
  21.  
  22.     public $soapMsg;
  23.  
  24.  
  25.     function __construct(){  }
  26.  
  27.     /**
  28.      * Paramameters initalisation prior to request handling
  29.      */
  30.     function initService(){
  31.  
  32.        if(isset($_GET["service"]&& $_GET['service'!= ''){
  33.             list($module$action=  explode('~',$_GET["service"]);
  34.         }else{
  35.             throw new JException('jWSDL~errors.service.param.required');
  36.         }
  37.  
  38.         $this->params['module'$module;
  39.         $this->params['action'$action;
  40.  
  41.         if(isset($HTTP_RAW_POST_DATA&& ($HTTP_RAW_POST_DATA!='')){
  42.             $this->soapMsg = $HTTP_RAW_POST_DATA;
  43.         }else{
  44.             $this->soapMsg = file("php://input");
  45.             $this->soapMsg = implode(" "$this->soapMsg);
  46.         }
  47.  
  48.         $this->_initUrlData()//Need to be called manually before coordinator call of init because needed for the WSDL generation 
  49.     }
  50.  
  51.  
  52.     /**
  53.      * Overload of the init method to prevent calling twice _initUrlData
  54.      */
  55.     function init(){}
  56.  
  57.     protected function _initParams(){}
  58.  
  59.     public function isAllowedResponse($respclass){
  60.         return ('jResponseSoap' == $respclass || 'jResponseRedirect' == $respclass);
  61.     }
  62.  
  63.     /**
  64.     * Gets the value of a request parameter. If not defined, gets its default value.
  65.     * @param string  $name           the name of the request parameter
  66.     * @param mixed   $defaultValue   the default returned value if the parameter doesn't exists
  67.     * @param boolean $useDefaultIfEmpty true: says to return the default value if the parameter value is ""
  68.     * @return mixed the request parameter value
  69.     */
  70.     public function getParam($name$defaultValue=null$useDefaultIfEmpty=false){
  71.         if (!isset($this->params[$name])) {
  72.             return $defaultValue;
  73.         }
  74.         // we cannot use the empty() function because 0 returns true. And maybe we want 0
  75.         // as a normal value...
  76.         if (is_scalar($this->params[$name])) {
  77.             if ($useDefaultIfEmpty && trim($this->params[$name]== '' {
  78.                 return $defaultValue;
  79.             }
  80.             else {
  81.                 return $this->params[$name];
  82.             }
  83.         }
  84.         else{
  85.             // array or object
  86.             if $useDefaultIfEmpty && empty($this->params[$name]) ) {
  87.                 return $defaultValue;
  88.             }
  89.             else {
  90.                 return $this->params[$name];
  91.             }
  92.         }
  93.     }
  94.  
  95. }

Documentation generated on Thu, 19 Sep 2013 00:07:34 +0200 by phpDocumentor 1.4.3