Source for file SOAP.php
Documentation is available at SOAP.php
// +----------------------------------------------------------------------+
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Authors: Bruno Pedro <bpedro@co.sapo.pt> |
// +----------------------------------------------------------------------+
// $Id: SOAP.php,v 1.6 2003/09/08 11:24:05 yavo Exp $
require_once "Auth/Container.php";
require_once 'SOAP/Client.php';
* Storage driver for fetching login data from SOAP
* This class takes one parameter (options), where
* you specify the following fields: endpoint, namespace,
* method, encoding, usernamefield and passwordfield.
* You can use specify features of your SOAP service
* by providing its parameters in an associative manner by
* using the '_features' array through the options parameter.
* The 'matchpassword' option should be set to false if your
* webservice doesn't return (username,password) pairs, but
* instead returns error when the login is invalid.
* 'endpoint' => 'http://your.soap.service/endpoint',
* 'namespace' => 'urn:/Your/Namespace',
* 'usernamefield' => 'login',
* 'passwordfield' => 'password',
* 'matchpasswords' => false,
* 'example_feature' => 'example_value',
* 'another_example' => ''
* $auth = new Auth('SOAP', $options, 'loginFunction');
* @author Bruno Pedro <bpedro@co.sapo.pt>
* @version $Revision: 1.6 $
* Required options for the class
var $_requiredOptions = array ('endpoint', 'namespace', 'method', 'encoding', 'usernamefield', 'passwordfield');
var $_features = array ();
* Constructor of the container class
* @param $options, associative array with endpoint, namespace, method,
* usernamefield, passwordfield and optional features
$this->_options = $options;
if (!isset ($this->_options['matchpasswords'])) {
$this->_options['matchpasswords'] = true;
if (!empty ($this->_options['_features'])) {
$this->_features = $this->_options['_features'];
unset ($this->_options['_features']);
* Fetch data from SOAP service
* Requests the SOAP service for the given username/password
* @return mixed Returns the SOAP response or false if something went wrong
// check if all required options are set
// create a SOAP client and set encoding
$soapClient = new SOAP_Client ($this->_options['endpoint']);
$soapClient->setEncoding ($this->_options['encoding']);
// assign username and password fields
$usernameField = new SOAP_Value ($this->_options['usernamefield'],'string', $username);
$passwordField = new SOAP_Value ($this->_options['passwordfield'],'string', $password);
$SOAPParams = array ($usernameField, $passwordField);
// assign optional features
foreach ($this->_features as $fieldName => $fieldValue) {
$SOAPParams[] = new SOAP_Value ($fieldName, 'string', $fieldValue);
$this->_options['method'],
array ('namespace' => $this->_options['namespace'])
if ($this->_options['matchpasswords']) {
// check if passwords match
if ($password == $this->soapResponse->{$this->_options['passwordfield']}) {
Documentation generated on Mon, 11 Mar 2019 13:52:33 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.
|