29 require_once 
"Auth/Container.php";
 
   33 require_once 
"PEAR.php";
 
  160         foreach ($options as $name => $value) {
 
  161             $this->_options[$name] = $value;
 
  164         if (!empty($this->_options[
'_features'])) {
 
  165             $this->_features = $this->_options[
'_features'];
 
  166             unset($this->_options[
'_features']);
 
  191         $soapClient = 
new SoapClient($this->_options[
"wsdl"], $this->_options);
 
  195         foreach ($this->_features as $fieldName => $fieldValue) {
 
  196             $params[$fieldName] = $fieldValue;
 
  199         $params[$this->_options[
'usernamefield']] = $username;
 
  200         $params[$this->_options[
'passwordfield']] = $password;
 
  203             $this->soapResponse = $soapClient->__soapCall($this->_options[
'method'], $params);
 
  205             if ($this->_options[
'matchpasswords']) {
 
  207                 if ($password == $this->soapResponse[$this->_options[
'passwordfield']]) {
 
  215         } 
catch (SoapFault $e) {
 
  216             return PEAR::raiseError(
"Error retrieving authentication data. Received SOAP Fault: ".$e->faultstring, $e->faultcode);
 
  231         if (   (   is_null($this->_options[
'wsdl'])
 
  232                 && is_null($this->_options[
'location'])
 
  233                 && is_null($this->_options[
'uri']))
 
  234             || (   is_null($this->_options[
'wsdl'])
 
  235                 && (   is_null($this->_options[
'location'])
 
  236                     || is_null($this->_options[
'uri'])))) {
 
  237             return PEAR::raiseError(
'Either a WSDL file or a location/uri pair must be specified.');
 
  239         if (is_null($this->_options[
'method'])) {
 
  240             return PEAR::raiseError(
'A method to call on the soap service must be specified.');
 
  256         $this->_options[
'wsdl']           = null;
 
  257         $this->_options[
'location']       = null;
 
  258         $this->_options[
'uri']            = null;
 
  259         $this->_options[
'method']         = null;
 
  260         $this->_options[
'usernamefield']  = 
'username';
 
  261         $this->_options[
'passwordfield']  = 
'password';
 
  262         $this->_options[
'matchpasswords'] = 
true;