ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
nusoap_client Class Reference

[nu]soapclient higher level class for easy usage. More...

+ Inheritance diagram for nusoap_client:
+ Collaboration diagram for nusoap_client:

Public Member Functions

 __construct ($endpoint, $wsdl=false, $proxyhost=false, $proxyport=false, $proxyusername=false, $proxypassword=false, $timeout=0, $response_timeout=30)
 constructor More...
 
 call ($operation, $params=array(), $namespace='http://tempuri.org', $soapAction='', $headers=false, $rpcParams=null, $style='rpc', $use='encoded')
 calls method, returns PHP native type More...
 
 checkWSDL ()
 check WSDL passed as an instance or pulled from an endpoint More...
 
 loadWSDL ()
 instantiate wsdl object and parse wsdl file More...
 
 getOperationData ($operation)
 get available data pertaining to an operation More...
 
 send ($msg, $soapaction='', $timeout=0, $response_timeout=30)
 send the SOAP message More...
 
 parseResponse ($headers, $data)
 processes SOAP message returned from server More...
 
 setCurlOption ($option, $value)
 sets user-specified cURL options More...
 
 setEndpoint ($endpoint)
 sets the SOAP endpoint, which can override WSDL More...
 
 setHeaders ($headers)
 set the SOAP headers More...
 
 getHeaders ()
 get the SOAP response headers (namespace resolution incomplete) More...
 
 getHeader ()
 get the SOAP response Header (parsed) More...
 
 setHTTPProxy ($proxyhost, $proxyport, $proxyusername='', $proxypassword='')
 set proxy info here More...
 
 setCredentials ($username, $password, $authtype='basic', $certRequest=array())
 if authenticating, set user credentials here More...
 
 setHTTPEncoding ($enc='gzip, deflate')
 use HTTP encoding More...
 
 setUseCURL ($use)
 Set whether to try to use cURL connections if possible. More...
 
 useHTTPPersistentConnection ()
 use HTTP persistent connections if possible More...
 
 getDefaultRpcParams ()
 gets the default RPC parameter setting. More...
 
 setDefaultRpcParams ($rpcParams)
 sets the default RPC parameter setting. More...
 
 getProxy ()
 dynamically creates an instance of a proxy class, allowing user to directly call methods from wsdl More...
 
 _getProxyClassCode ($r)
 dynamically creates proxy class code More...
 
 getProxyClassCode ()
 dynamically creates proxy class code More...
 
 getHTTPBody ($soapmsg)
 gets the HTTP body for the current request. More...
 
 getHTTPContentType ()
 gets the HTTP content type for the current request. More...
 
 getHTTPContentTypeCharset ()
 gets the HTTP content type charset for the current request. More...
 
 decodeUTF8 ($bool)
 
 setCookie ($name, $value)
 adds a new Cookie into $this->cookies array More...
 
 getCookies ()
 gets all Cookies More...
 
 checkCookies ()
 checks all Cookies and delete those which are expired More...
 
 UpdateCookies ($cookies)
 updates the current cookies with a new set More...
 
- Public Member Functions inherited from nusoap_base
 __construct ()
 constructor More...
 
 getGlobalDebugLevel ()
 gets the global debug level, which applies to future instances More...
 
 setGlobalDebugLevel ($level)
 sets the global debug level, which applies to future instances More...
 
 getDebugLevel ()
 gets the debug level for this instance More...
 
 setDebugLevel ($level)
 sets the debug level for this instance More...
 
 debug ($string)
 adds debug data to the instance debug string with formatting More...
 
 appendDebug ($string)
 adds debug data to the instance debug string without formatting More...
 
 clearDebug ()
 clears the current debug data for this instance More...
 
getDebug ()
 gets the current debug data for this instance More...
 
getDebugAsXMLComment ()
 gets the current debug data for this instance as an XML comment this may change the contents of the debug data More...
 
 expandEntities ($val)
 expands entities, e.g. More...
 
 getError ()
 returns error string if present More...
 
 setError ($str)
 sets error string More...
 
 isArraySimpleOrStruct ($val)
 detect if array is a simple array or a struct (associative array) More...
 
 serialize_val ($val, $name=false, $type=false, $name_ns=false, $type_ns=false, $attributes=false, $use='encoded', $soapval=false)
 serializes PHP values in accordance w/ section 5. More...
 
 serializeEnvelope ($body, $headers=false, $namespaces=array(), $style='rpc', $use='encoded', $encodingStyle='http://schemas.xmlsoap.org/soap/encoding/')
 serializes a message More...
 
 formatDump ($str)
 formats a string to be inserted into an HTML stream More...
 
 contractQname ($qname)
 contracts (changes namespace to prefix) a qualified name More...
 
 expandQname ($qname)
 expands (changes prefix to namespace) a qualified name More...
 
 getLocalPart ($str)
 returns the local part of a prefixed string returns the original string, if not prefixed More...
 
 getPrefix ($str)
 returns the prefix part of a prefixed string returns false, if not prefixed More...
 
 getNamespaceFromPrefix ($prefix)
 pass it a prefix, it returns a namespace More...
 
 getPrefixFromNamespace ($ns)
 returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given namespace More...
 
 getmicrotime ()
 returns the time in ODBC canonical form with microseconds More...
 
 varDump ($data)
 Returns a string with the output of var_dump. More...
 
 __toString ()
 represents the object as a string More...
 

Data Fields

 $username = ''
 
 $password = ''
 
 $authtype = ''
 
 $certRequest = array()
 
 $requestHeaders = false
 
 $responseHeaders = ''
 
 $responseHeader = null
 
 $document = ''
 
 $endpoint
 
 $forceEndpoint = ''
 
 $proxyhost = ''
 
 $proxyport = ''
 
 $proxyusername = ''
 
 $proxypassword = ''
 
 $xml_encoding = ''
 
 $http_encoding = false
 
 $timeout = 0
 
 $response_timeout = 30
 
 $endpointType = ''
 
 $persistentConnection = false
 
 $defaultRpcParams = false
 
 $request = ''
 
 $response = ''
 
 $responseData = ''
 
 $cookies = array()
 
 $decode_utf8 = true
 
 $operations = array()
 
 $curl_options = array()
 
 $bindingType = ''
 
 $use_curl = false
 
 $fault
 
 $faultcode
 
 $faultstring
 
 $faultdetail
 
- Data Fields inherited from nusoap_base
 $title = 'NuSOAP'
 
 $version = '0.7.3'
 
 $revision = '$Revision$'
 
 $error_str = ''
 
 $debug_str = ''
 
 $charencoding = true
 
 $debugLevel
 
 $XMLSchemaVersion = 'http://www.w3.org/2001/XMLSchema'
 
 $soap_defencoding = 'UTF-8'
 
 $namespaces
 
 $usedNamespaces = array()
 
 $typemap
 
 $xmlEntities
 

Detailed Description

[nu]soapclient higher level class for easy usage.

usage:

// instantiate client with server info $soapclient = new nusoap_client( string path [ ,mixed wsdl] );

// call method, get results echo $soapclient->call( string methodname [ ,array parameters] );

// bye bye client unset($soapclient);

Author
Dietrich Ayala dietr.nosp@m.ich@.nosp@m.ganx4.nosp@m..com
Scott Nichol snich.nosp@m.ol@u.nosp@m.sers..nosp@m.sour.nosp@m.cefor.nosp@m.ge.n.nosp@m.et
Version
$Id$ public

Definition at line 7205 of file nusoap.php.

Constructor & Destructor Documentation

◆ __construct()

nusoap_client::__construct (   $endpoint,
  $wsdl = false,
  $proxyhost = false,
  $proxyport = false,
  $proxyusername = false,
  $proxypassword = false,
  $timeout = 0,
  $response_timeout = 30 
)

constructor

Parameters
mixed$endpointSOAP server or WSDL URL (string), or wsdl instance (object)
bool$wsdloptional, set to true if using WSDL
int$portNameoptional portName in WSDL document
string$proxyhost
string$proxyport
string$proxyusername
string$proxypassword
integer$timeoutset the connection timeout
integer$response_timeoutset the response timeout public

Definition at line 7276 of file nusoap.php.

References ILIAS\GlobalScreen\Provider\__construct(), nusoap_base\appendDebug(), nusoap_base\debug(), and nusoap_base\varDump().

7277  {
7279  $this->endpoint = $endpoint;
7280  $this->proxyhost = $proxyhost;
7281  $this->proxyport = $proxyport;
7282  $this->proxyusername = $proxyusername;
7283  $this->proxypassword = $proxypassword;
7284  $this->timeout = $timeout;
7285  $this->response_timeout = $response_timeout;
7286 
7287  $this->debug("ctor wsdl=$wsdl timeout=$timeout response_timeout=$response_timeout");
7288  $this->appendDebug('endpoint=' . $this->varDump($endpoint));
7289 
7290  // make values
7291  if ($wsdl) {
7292  if (is_object($endpoint) && (get_class($endpoint) == 'wsdl')) {
7293  $this->wsdl = $endpoint;
7294  $this->endpoint = $this->wsdl->wsdl;
7295  $this->wsdlFile = $this->endpoint;
7296  $this->debug('existing wsdl instance created from ' . $this->endpoint);
7297  $this->checkWSDL();
7298  } else {
7299  $this->wsdlFile = $this->endpoint;
7300  $this->wsdl = null;
7301  $this->debug('will use lazy evaluation of wsdl from ' . $this->endpoint);
7302  }
7303  $this->endpointType = 'wsdl';
7304  } else {
7305  $this->debug("instantiate SOAP with endpoint at $endpoint");
7306  $this->endpointType = 'soap';
7307  }
7308  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
parses a WSDL file, allows access to it's data, other utility methods.
Definition: nusoap.php:4617
checkWSDL()
check WSDL passed as an instance or pulled from an endpoint
Definition: nusoap.php:7519
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:909
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ _getProxyClassCode()

nusoap_client::_getProxyClassCode (   $r)

dynamically creates proxy class code

Returns
string PHP/NuSOAP code for the proxy class private

Definition at line 7936 of file nusoap.php.

References $name, $type, nusoap_base\appendDebug(), nusoap_base\debug(), nusoap_base\getError(), nusoap_base\setError(), and nusoap_base\varDump().

7937  {
7938  $this->debug("in getProxy endpointType=$this->endpointType");
7939  $this->appendDebug("wsdl=" . $this->varDump($this->wsdl));
7940  if ($this->endpointType != 'wsdl') {
7941  $evalStr = 'A proxy can only be created for a WSDL client';
7942  $this->setError($evalStr);
7943  $evalStr = "echo \"$evalStr\";";
7944  return $evalStr;
7945  }
7946  if ($this->endpointType == 'wsdl' && is_null($this->wsdl)) {
7947  $this->loadWSDL();
7948  if ($this->getError()) {
7949  return "echo \"" . $this->getError() . "\";";
7950  }
7951  }
7952  $evalStr = '';
7953  foreach ($this->operations as $operation => $opData) {
7954  if ($operation != '') {
7955  // create param string and param comment string
7956  if (sizeof($opData['input']['parts']) > 0) {
7957  $paramStr = '';
7958  $paramArrayStr = '';
7959  $paramCommentStr = '';
7960  foreach ($opData['input']['parts'] as $name => $type) {
7961  $paramStr .= "\$$name, ";
7962  $paramArrayStr .= "'$name' => \$$name, ";
7963  $paramCommentStr .= "$type \$$name, ";
7964  }
7965  $paramStr = substr($paramStr, 0, strlen($paramStr)-2);
7966  $paramArrayStr = substr($paramArrayStr, 0, strlen($paramArrayStr)-2);
7967  $paramCommentStr = substr($paramCommentStr, 0, strlen($paramCommentStr)-2);
7968  } else {
7969  $paramStr = '';
7970  $paramArrayStr = '';
7971  $paramCommentStr = 'void';
7972  }
7973  $opData['namespace'] = !isset($opData['namespace']) ? 'http://testuri.com' : $opData['namespace'];
7974  $evalStr .= "// $paramCommentStr
7975  function " . str_replace('.', '__', $operation) . "($paramStr) {
7976  \$params = array($paramArrayStr);
7977  return \$this->call('$operation', \$params, '" . $opData['namespace'] . "', '" . (isset($opData['soapAction']) ? $opData['soapAction'] : '') . "');
7978  }
7979  ";
7980  unset($paramStr);
7981  unset($paramCommentStr);
7982  }
7983  }
7984  $evalStr = 'class nusoap_proxy_' . $r . ' extends nusoap_client {
7985  ' . $evalStr . '
7986 }';
7987  return $evalStr;
7988  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
setError($str)
sets error string
Definition: nusoap.php:395
parses a WSDL file, allows access to it's data, other utility methods.
Definition: nusoap.php:4617
$type
getError()
returns error string if present
Definition: nusoap.php:381
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
if($format !==null) $name
Definition: metadata.php:247
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:909
loadWSDL()
instantiate wsdl object and parse wsdl file
Definition: nusoap.php:7546
+ Here is the call graph for this function:

◆ call()

nusoap_client::call (   $operation,
  $params = array(),
  $namespace = 'http://tempuri.org',
  $soapAction = '',
  $headers = false,
  $rpcParams = null,
  $style = 'rpc',
  $use = 'encoded' 
)

calls method, returns PHP native type

Parameters
string$operationSOAP server URL or path
mixed$paramsAn array, associative or simple, of the parameters for the method call, or a string that is the XML for the call. For rpc style, this call will wrap the XML in a tag named after the method, as well as the SOAP Envelope and Body. For document style, this will only wrap with the Envelope and Body. IMPORTANT: when using an array with document style, in which case there is really one parameter, the root of the fragment used in the call, which encloses what programmers normally think of parameters. A parameter array must include the wrapper.
string$namespaceoptional method namespace (WSDL can override)
string$soapActionoptional SOAPAction value (WSDL can override)
mixed$headersoptional string of XML with SOAP header content, or array of soapval objects for SOAP headers, or associative array
boolean$rpcParamsoptional (no longer used)
string$styleoptional (rpc|document) the style to use when serializing parameters (WSDL can override)
string$useoptional (encoded|literal) the use when serializing parameters (WSDL can override)
Returns
mixed response from SOAP call public

Definition at line 7335 of file nusoap.php.

References $namespace, $params, $payload, nusoap_base\$usedNamespaces, nusoap_base\appendDebug(), nusoap_base\clearDebug(), nusoap_base\debug(), nusoap_base\getDebug(), nusoap_base\getError(), nusoap_base\getPrefixFromNamespace(), send(), nusoap_base\serialize_val(), nusoap_base\serializeEnvelope(), wsdl\serializeRPCParameters(), nusoap_base\setError(), and nusoap_base\varDump().

7335  ://tempuri.org', $soapAction='', $headers=false, $rpcParams=null, $style='rpc', $use='encoded')
7336  {
7337  $this->operation = $operation;
7338  $this->fault = false;
7339  $this->setError('');
7340  $this->request = '';
7341  $this->response = '';
7342  $this->responseData = '';
7343  $this->faultstring = '';
7344  $this->faultcode = '';
7345  $this->opData = array();
7346 
7347  $this->debug("call: operation=$operation, namespace=$namespace, soapAction=$soapAction, rpcParams=$rpcParams, style=$style, use=$use, endpointType=$this->endpointType");
7348  $this->appendDebug('params=' . $this->varDump($params));
7349  $this->appendDebug('headers=' . $this->varDump($headers));
7350  if ($headers) {
7351  $this->requestHeaders = $headers;
7352  }
7353  if ($this->endpointType == 'wsdl' && is_null($this->wsdl)) {
7354  $this->loadWSDL();
7355  if ($this->getError()) {
7356  return false;
7357  }
7358  }
7359  // serialize parameters
7360  if ($this->endpointType == 'wsdl' && $opData = $this->getOperationData($operation)) {
7361  // use WSDL for operation
7362  $this->opData = $opData;
7363  $this->debug("found operation");
7364  $this->appendDebug('opData=' . $this->varDump($opData));
7365  if (isset($opData['soapAction'])) {
7366  $soapAction = $opData['soapAction'];
7367  }
7368  if (! $this->forceEndpoint) {
7369  $this->endpoint = $opData['endpoint'];
7370  } else {
7371  $this->endpoint = $this->forceEndpoint;
7372  }
7373  $namespace = isset($opData['input']['namespace']) ? $opData['input']['namespace'] : $namespace;
7374  $style = $opData['style'];
7375  $use = $opData['input']['use'];
7376  // add ns to ns array
7377  if ($namespace != '' && !isset($this->wsdl->namespaces[$namespace])) {
7378  $nsPrefix = 'ns' . rand(1000, 9999);
7379  $this->wsdl->namespaces[$nsPrefix] = $namespace;
7380  }
7381  $nsPrefix = $this->wsdl->getPrefixFromNamespace($namespace);
7382  // serialize payload
7383  if (is_string($params)) {
7384  $this->debug("serializing param string for WSDL operation $operation");
7385  $payload = $params;
7386  } elseif (is_array($params)) {
7387  $this->debug("serializing param array for WSDL operation $operation");
7388  $payload = $this->wsdl->serializeRPCParameters($operation, 'input', $params, $this->bindingType);
7389  } else {
7390  $this->debug('params must be array or string');
7391  $this->setError('params must be array or string');
7392  return false;
7393  }
7394  $usedNamespaces = $this->wsdl->usedNamespaces;
7395  if (isset($opData['input']['encodingStyle'])) {
7396  $encodingStyle = $opData['input']['encodingStyle'];
7397  } else {
7398  $encodingStyle = '';
7399  }
7400  $this->appendDebug($this->wsdl->getDebug());
7401  $this->wsdl->clearDebug();
7402  if ($errstr = $this->wsdl->getError()) {
7403  $this->debug('got wsdl error: ' . $errstr);
7404  $this->setError('wsdl error: ' . $errstr);
7405  return false;
7406  }
7407  } elseif ($this->endpointType == 'wsdl') {
7408  // operation not in WSDL
7409  $this->appendDebug($this->wsdl->getDebug());
7410  $this->wsdl->clearDebug();
7411  $this->setError('operation ' . $operation . ' not present.');
7412  $this->debug("operation '$operation' not present.");
7413  return false;
7414  } else {
7415  // no WSDL
7416  //$this->namespaces['ns1'] = $namespace;
7417  $nsPrefix = 'ns' . rand(1000, 9999);
7418  // serialize
7419  $payload = '';
7420  if (is_string($params)) {
7421  $this->debug("serializing param string for operation $operation");
7422  $payload = $params;
7423  } elseif (is_array($params)) {
7424  $this->debug("serializing param array for operation $operation");
7425  foreach ($params as $k => $v) {
7426  $payload .= $this->serialize_val($v, $k, false, false, false, false, $use);
7427  }
7428  } else {
7429  $this->debug('params must be array or string');
7430  $this->setError('params must be array or string');
7431  return false;
7432  }
7433  $usedNamespaces = array();
7434  if ($use == 'encoded') {
7435  $encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
7436  } else {
7437  $encodingStyle = '';
7438  }
7439  }
7440  // wrap RPC calls with method element
7441  if ($style == 'rpc') {
7442  if ($use == 'literal') {
7443  $this->debug("wrapping RPC request with literal method element");
7444  if ($namespace) {
7445  // http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735 says rpc/literal accessor elements should not be in a namespace
7446  $payload = "<$nsPrefix:$operation xmlns:$nsPrefix=\"$namespace\">" .
7447  $payload .
7448  "</$nsPrefix:$operation>";
7449  } else {
7450  $payload = "<$operation>" . $payload . "</$operation>";
7451  }
7452  } else {
7453  $this->debug("wrapping RPC request with encoded method element");
7454  if ($namespace) {
7455  $payload = "<$nsPrefix:$operation xmlns:$nsPrefix=\"$namespace\">" .
7456  $payload .
7457  "</$nsPrefix:$operation>";
7458  } else {
7459  $payload = "<$operation>" .
7460  $payload .
7461  "</$operation>";
7462  }
7463  }
7464  }
7465  // serialize envelope
7466  $soapmsg = $this->serializeEnvelope($payload, $this->requestHeaders, $usedNamespaces, $style, $use, $encodingStyle);
7467  $this->debug("endpoint=$this->endpoint, soapAction=$soapAction, namespace=$namespace, style=$style, use=$use, encodingStyle=$encodingStyle");
7468  $this->debug('SOAP message length=' . strlen($soapmsg) . ' contents (max 1000 bytes)=' . substr($soapmsg, 0, 1000));
7469  // send
7470  $return = $this->send($this->getHTTPBody($soapmsg), $soapAction, $this->timeout, $this->response_timeout);
7471  if ($errstr = $this->getError()) {
7472  $this->debug('Error: ' . $errstr);
7473  return false;
7474  } else {
7475  $this->return = $return;
7476  $this->debug('sent message successfully and got a(n) ' . gettype($return));
7477  $this->appendDebug('return=' . $this->varDump($return));
7478 
7479  // fault?
7480  if (is_array($return) && isset($return['faultcode'])) {
7481  $this->debug('got fault');
7482  $this->setError($return['faultcode'] . ': ' . $return['faultstring']);
7483  $this->fault = true;
7484  foreach ($return as $k => $v) {
7485  $this->$k = $v;
7486  $this->debug("$k = $v<br>");
7487  }
7488  return $return;
7489  } elseif ($style == 'document') {
7490  // NOTE: if the response is defined to have multiple parts (i.e. unwrapped),
7491  // we are only going to return the first part here...sorry about that
7492  return $return;
7493  } else {
7494  // array of return values
7495  if (is_array($return)) {
7496  // multiple 'out' parameters, which we return wrapped up
7497  // in the array
7498  if (sizeof($return) > 1) {
7499  return $return;
7500  }
7501  // single 'out' parameter (normally the return value)
7502  $return = array_shift($return);
7503  $this->debug('return shifted value: ');
7504  $this->appendDebug($this->varDump($return));
7505  return $return;
7506  // nothing returned (ie, echoVoid)
7507  } else {
7508  return "";
7509  }
7510  }
7511  }
7512  }
if($err=$client->getError()) $namespace
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
setError($str)
sets error string
Definition: nusoap.php:395
& getDebug()
gets the current debug data for this instance
Definition: nusoap.php:332
parses a WSDL file, allows access to it&#39;s data, other utility methods.
Definition: nusoap.php:4617
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:33
if(count($parts) !=3) $payload
Definition: ltitoken.php:70
send($msg, $soapaction='', $timeout=0, $response_timeout=30)
send the SOAP message
Definition: nusoap.php:7590
getError()
returns error string if present
Definition: nusoap.php:381
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
serializeRPCParameters($operation, $direction, $parameters, $bindingType='soap')
serialize PHP values according to a WSDL message definition contrary to the method name...
Definition: nusoap.php:5734
getPrefixFromNamespace($ns)
returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given...
Definition: nusoap.php:872
serializeEnvelope($body, $headers=false, $namespaces=array(), $style='rpc', $use='encoded', $encodingStyle='http://schemas.xmlsoap.org/soap/encoding/')
serializes a message
Definition: nusoap.php:700
getOperationData($operation)
get available data pertaining to an operation
Definition: nusoap.php:7562
getHTTPBody($soapmsg)
gets the HTTP body for the current request.
Definition: nusoap.php:8009
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:909
loadWSDL()
instantiate wsdl object and parse wsdl file
Definition: nusoap.php:7546
clearDebug()
clears the current debug data for this instance
Definition: nusoap.php:319
serialize_val($val, $name=false, $type=false, $name_ns=false, $type_ns=false, $attributes=false, $use='encoded', $soapval=false)
serializes PHP values in accordance w/ section 5.
Definition: nusoap.php:433
+ Here is the call graph for this function:

◆ checkCookies()

nusoap_client::checkCookies ( )

checks all Cookies and delete those which are expired

Returns
boolean always return true private

Definition at line 8087 of file nusoap.php.

References nusoap_base\debug().

8088  {
8089  if (sizeof($this->cookies) == 0) {
8090  return true;
8091  }
8092  $this->debug('checkCookie: check ' . sizeof($this->cookies) . ' cookies');
8093  $curr_cookies = $this->cookies;
8094  $this->cookies = array();
8095  foreach ($curr_cookies as $cookie) {
8096  if (! is_array($cookie)) {
8097  $this->debug('Remove cookie that is not an array');
8098  continue;
8099  }
8100  if ((isset($cookie['expires'])) && (! empty($cookie['expires']))) {
8101  if (strtotime($cookie['expires']) > time()) {
8102  $this->cookies[] = $cookie;
8103  } else {
8104  $this->debug('Remove expired cookie ' . $cookie['name']);
8105  }
8106  } else {
8107  $this->cookies[] = $cookie;
8108  }
8109  }
8110  $this->debug('checkCookie: ' . sizeof($this->cookies) . ' cookies left in array');
8111  return true;
8112  }
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
+ Here is the call graph for this function:

◆ checkWSDL()

nusoap_client::checkWSDL ( )

check WSDL passed as an instance or pulled from an endpoint

private

Definition at line 7519 of file nusoap.php.

References nusoap_base\appendDebug(), nusoap_base\clearDebug(), nusoap_base\debug(), nusoap_base\getDebug(), nusoap_base\getError(), wsdl\getOperations(), and nusoap_base\setError().

7520  {
7521  $this->appendDebug($this->wsdl->getDebug());
7522  $this->wsdl->clearDebug();
7523  $this->debug('checkWSDL');
7524  // catch errors
7525  if ($errstr = $this->wsdl->getError()) {
7526  $this->debug('got wsdl error: ' . $errstr);
7527  $this->setError('wsdl error: ' . $errstr);
7528  } elseif ($this->operations = $this->wsdl->getOperations('soap')) {
7529  $this->bindingType = 'soap';
7530  $this->debug('got ' . count($this->operations) . ' operations from wsdl ' . $this->wsdlFile . ' for binding type ' . $this->bindingType);
7531  } elseif ($this->operations = $this->wsdl->getOperations('soap12')) {
7532  $this->bindingType = 'soap12';
7533  $this->debug('got ' . count($this->operations) . ' operations from wsdl ' . $this->wsdlFile . ' for binding type ' . $this->bindingType);
7534  $this->debug('**************** WARNING: SOAP 1.2 BINDING *****************');
7535  } else {
7536  $this->debug('getOperations returned false');
7537  $this->setError('no operations defined in the WSDL document!');
7538  }
7539  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
setError($str)
sets error string
Definition: nusoap.php:395
& getDebug()
gets the current debug data for this instance
Definition: nusoap.php:332
parses a WSDL file, allows access to it&#39;s data, other utility methods.
Definition: nusoap.php:4617
getError()
returns error string if present
Definition: nusoap.php:381
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
getOperations($bindingType='soap')
returns an assoc array of operation names => operation data
Definition: nusoap.php:5194
clearDebug()
clears the current debug data for this instance
Definition: nusoap.php:319
+ Here is the call graph for this function:

◆ decodeUTF8()

nusoap_client::decodeUTF8 (   $bool)

Definition at line 8047 of file nusoap.php.

8048  {
8049  $this->decode_utf8 = $bool;
8050  return true;
8051  }

◆ getCookies()

nusoap_client::getCookies ( )

gets all Cookies

Returns
array with all internal cookies public

Definition at line 8076 of file nusoap.php.

8077  {
8078  return $this->cookies;
8079  }

◆ getDefaultRpcParams()

nusoap_client::getDefaultRpcParams ( )

gets the default RPC parameter setting.

If true, default is that call params are like RPC even for document style. Each call() can override this value.

This is no longer used.

Returns
boolean public
Deprecated:

Definition at line 7859 of file nusoap.php.

7860  {
7861  return $this->defaultRpcParams;
7862  }

◆ getHeader()

nusoap_client::getHeader ( )

get the SOAP response Header (parsed)

Returns
mixed public

Definition at line 7772 of file nusoap.php.

7773  {
7774  return $this->responseHeader;
7775  }

◆ getHeaders()

nusoap_client::getHeaders ( )

get the SOAP response headers (namespace resolution incomplete)

Returns
string public

Definition at line 7761 of file nusoap.php.

7762  {
7763  return $this->responseHeaders;
7764  }

◆ getHTTPBody()

nusoap_client::getHTTPBody (   $soapmsg)

gets the HTTP body for the current request.

Parameters
string$soapmsgThe SOAP payload
Returns
string The HTTP body, which includes the SOAP payload private

Definition at line 8009 of file nusoap.php.

8010  {
8011  return $soapmsg;
8012  }

◆ getHTTPContentType()

nusoap_client::getHTTPContentType ( )

gets the HTTP content type for the current request.

Note: getHTTPBody must be called before this.

Returns
string the HTTP content type for the current request. private

Definition at line 8022 of file nusoap.php.

8023  {
8024  return 'text/xml';
8025  }

◆ getHTTPContentTypeCharset()

nusoap_client::getHTTPContentTypeCharset ( )

gets the HTTP content type charset for the current request.

returns false for non-text content types.

Note: getHTTPBody must be called before this.

Returns
string the HTTP content type charset for the current request. private

Definition at line 8036 of file nusoap.php.

References nusoap_base\$soap_defencoding.

8037  {
8038  return $this->soap_defencoding;
8039  }
$soap_defencoding
Definition: nusoap.php:164

◆ getOperationData()

nusoap_client::getOperationData (   $operation)

get available data pertaining to an operation

Parameters
string$operationoperation name
Returns
array array of data pertaining to the operation public

Definition at line 7562 of file nusoap.php.

References nusoap_base\debug(), and nusoap_base\getError().

7563  {
7564  if ($this->endpointType == 'wsdl' && is_null($this->wsdl)) {
7565  $this->loadWSDL();
7566  if ($this->getError()) {
7567  return false;
7568  }
7569  }
7570  if (isset($this->operations[$operation])) {
7571  return $this->operations[$operation];
7572  }
7573  $this->debug("No data for operation: $operation");
7574  }
parses a WSDL file, allows access to it&#39;s data, other utility methods.
Definition: nusoap.php:4617
getError()
returns error string if present
Definition: nusoap.php:381
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
loadWSDL()
instantiate wsdl object and parse wsdl file
Definition: nusoap.php:7546
+ Here is the call graph for this function:

◆ getProxy()

nusoap_client::getProxy ( )

dynamically creates an instance of a proxy class, allowing user to directly call methods from wsdl

Returns
object soap_proxy object public

Definition at line 7887 of file nusoap.php.

References nusoap_base\$soap_defencoding, nusoap_base\debug(), and nusoap_base\getError().

7888  {
7889  $r = rand();
7890  $evalStr = $this->_getProxyClassCode($r);
7891  //$this->debug("proxy class: $evalStr");
7892  if ($this->getError()) {
7893  $this->debug("Error from _getProxyClassCode, so return NULL");
7894  return null;
7895  }
7896  // eval the class
7897  eval($evalStr);
7898  // instantiate proxy object
7899  eval("\$proxy = new nusoap_proxy_$r('');");
7900  // transfer current wsdl data to the proxy thereby avoiding parsing the wsdl twice
7901  $proxy->endpointType = 'wsdl';
7902  $proxy->wsdlFile = $this->wsdlFile;
7903  $proxy->wsdl = $this->wsdl;
7904  $proxy->operations = $this->operations;
7905  $proxy->defaultRpcParams = $this->defaultRpcParams;
7906  // transfer other state
7907  $proxy->soap_defencoding = $this->soap_defencoding;
7908  $proxy->username = $this->username;
7909  $proxy->password = $this->password;
7910  $proxy->authtype = $this->authtype;
7911  $proxy->certRequest = $this->certRequest;
7912  $proxy->requestHeaders = $this->requestHeaders;
7913  $proxy->endpoint = $this->endpoint;
7914  $proxy->forceEndpoint = $this->forceEndpoint;
7915  $proxy->proxyhost = $this->proxyhost;
7916  $proxy->proxyport = $this->proxyport;
7917  $proxy->proxyusername = $this->proxyusername;
7918  $proxy->proxypassword = $this->proxypassword;
7919  $proxy->http_encoding = $this->http_encoding;
7920  $proxy->timeout = $this->timeout;
7921  $proxy->response_timeout = $this->response_timeout;
7922  $proxy->persistentConnection = &$this->persistentConnection;
7923  $proxy->decode_utf8 = $this->decode_utf8;
7924  $proxy->curl_options = $this->curl_options;
7925  $proxy->bindingType = $this->bindingType;
7926  $proxy->use_curl = $this->use_curl;
7927  return $proxy;
7928  }
getError()
returns error string if present
Definition: nusoap.php:381
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
_getProxyClassCode($r)
dynamically creates proxy class code
Definition: nusoap.php:7936
$soap_defencoding
Definition: nusoap.php:164
+ Here is the call graph for this function:

◆ getProxyClassCode()

nusoap_client::getProxyClassCode ( )

dynamically creates proxy class code

Returns
string PHP/NuSOAP code for the proxy class public

Definition at line 7996 of file nusoap.php.

7997  {
7998  $r = rand();
7999  return $this->_getProxyClassCode($r);
8000  }
_getProxyClassCode($r)
dynamically creates proxy class code
Definition: nusoap.php:7936

◆ loadWSDL()

nusoap_client::loadWSDL ( )

instantiate wsdl object and parse wsdl file

public

Definition at line 7546 of file nusoap.php.

References nusoap_base\debug(), wsdl\fetchWSDL(), and wsdl\setCredentials().

7547  {
7548  $this->debug('instantiating wsdl class with doc: ' . $this->wsdlFile);
7549  $this->wsdl = new wsdl('', $this->proxyhost, $this->proxyport, $this->proxyusername, $this->proxypassword, $this->timeout, $this->response_timeout, $this->curl_options, $this->use_curl);
7550  $this->wsdl->setCredentials($this->username, $this->password, $this->authtype, $this->certRequest);
7551  $this->wsdl->fetchWSDL($this->wsdlFile);
7552  $this->checkWSDL();
7553  }
parses a WSDL file, allows access to it&#39;s data, other utility methods.
Definition: nusoap.php:4617
checkWSDL()
check WSDL passed as an instance or pulled from an endpoint
Definition: nusoap.php:7519
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
setCredentials($username, $password, $authtype='basic', $certRequest=array())
if authenticating, set user credentials here
Definition: nusoap.php:5170
fetchWSDL($wsdl)
fetches the WSDL document and parses it
Definition: nusoap.php:4697
+ Here is the call graph for this function:

◆ parseResponse()

nusoap_client::parseResponse (   $headers,
  $data 
)

processes SOAP message returned from server

Parameters
array$headersThe HTTP headers
string$dataunprocessed response data from server
Returns
mixed value of the message, decoded into a PHP type private

Definition at line 7670 of file nusoap.php.

References $data, nusoap_base\appendDebug(), nusoap_base\debug(), nusoap_base\setError(), and nusoap_base\varDump().

7671  {
7672  $this->debug('Entering parseResponse() for data of length ' . strlen($data) . ' headers:');
7673  $this->appendDebug($this->varDump($headers));
7674  if (!strstr($headers['content-type'], 'text/xml')) {
7675  $this->setError('Response not of type text/xml: ' . $headers['content-type']);
7676  return false;
7677  }
7678  if (strpos($headers['content-type'], '=')) {
7679  $enc = str_replace('"', '', substr(strstr($headers["content-type"], '='), 1));
7680  $this->debug('Got response encoding: ' . $enc);
7681  if (preg_match('/^(ISO-8859-1|US-ASCII|UTF-8)$/i', $enc)) {
7682  $this->xml_encoding = strtoupper($enc);
7683  } else {
7684  $this->xml_encoding = 'US-ASCII';
7685  }
7686  } else {
7687  // should be US-ASCII for HTTP 1.0 or ISO-8859-1 for HTTP 1.1
7688  $this->xml_encoding = 'ISO-8859-1';
7689  }
7690  $this->debug('Use encoding: ' . $this->xml_encoding . ' when creating nusoap_parser');
7691  $parser = new nusoap_parser($data, $this->xml_encoding, $this->operation, $this->decode_utf8);
7692  // add parser debug data to our debug
7693  $this->appendDebug($parser->getDebug());
7694  // if parse errors
7695  if ($errstr = $parser->getError()) {
7696  $this->setError($errstr);
7697  // destroy the parser object
7698  unset($parser);
7699  return false;
7700  } else {
7701  // get SOAP headers
7702  $this->responseHeaders = $parser->getHeaders();
7703  // get SOAP headers
7704  $this->responseHeader = $parser->get_soapheader();
7705  // get decoded message
7706  $return = $parser->get_soapbody();
7707  // add document for doclit support
7708  $this->document = $parser->document;
7709  // destroy the parser object
7710  unset($parser);
7711  // return decode message
7712  return $return;
7713  }
7714  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
setError($str)
sets error string
Definition: nusoap.php:395
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:909
nusoap_parser class parses SOAP XML messages into native PHP values
Definition: nusoap.php:6545
+ Here is the call graph for this function:

◆ send()

nusoap_client::send (   $msg,
  $soapaction = '',
  $timeout = 0,
  $response_timeout = 30 
)

send the SOAP message

Note: if the operation has multiple return values the return value of this method will be an array of those values.

Parameters
string$msga SOAPx4 soapmsg object
string$soapactionSOAPAction value
integer$timeoutset connection timeout in seconds
integer$response_timeoutset response timeout in seconds
Returns
mixed native PHP types. private

Definition at line 7590 of file nusoap.php.

References $http, nusoap_base\appendDebug(), nusoap_base\debug(), nusoap_base\getError(), and nusoap_base\setError().

7591  {
7592  $this->checkCookies();
7593  // detect transport
7594  switch (true) {
7595  // http(s)
7596  case preg_match('/^http/', $this->endpoint):
7597  $this->debug('transporting via HTTP');
7598  if ($this->persistentConnection == true && is_object($this->persistentConnection)) {
7600  } else {
7601  $http = new soap_transport_http($this->endpoint, $this->curl_options, $this->use_curl);
7602  if ($this->persistentConnection) {
7603  $http->usePersistentConnection();
7604  }
7605  }
7606  $http->setContentType($this->getHTTPContentType(), $this->getHTTPContentTypeCharset());
7607  $http->setSOAPAction($soapaction);
7608  if ($this->proxyhost && $this->proxyport) {
7609  $http->setProxy($this->proxyhost, $this->proxyport, $this->proxyusername, $this->proxypassword);
7610  }
7611  if ($this->authtype != '') {
7612  $http->setCredentials($this->username, $this->password, $this->authtype, array(), $this->certRequest);
7613  }
7614  if ($this->http_encoding != '') {
7615  $http->setEncoding($this->http_encoding);
7616  }
7617  $this->debug('sending message, length=' . strlen($msg));
7618  if (preg_match('/^http:/', $this->endpoint)) {
7619  //if(strpos($this->endpoint,'http:')){
7620  $this->responseData = $http->send($msg, $timeout, $response_timeout, $this->cookies);
7621  } elseif (preg_match('/^https/', $this->endpoint)) {
7622  //} elseif(strpos($this->endpoint,'https:')){
7623  //if(phpversion() == '4.3.0-dev'){
7624  //$response = $http->send($msg,$timeout,$response_timeout);
7625  //$this->request = $http->outgoing_payload;
7626  //$this->response = $http->incoming_payload;
7627  //} else
7628  $this->responseData = $http->sendHTTPS($msg, $timeout, $response_timeout, $this->cookies);
7629  } else {
7630  $this->setError('no http/s in endpoint url');
7631  }
7632  $this->request = $http->outgoing_payload;
7633  $this->response = $http->incoming_payload;
7634  $this->appendDebug($http->getDebug());
7635  $this->UpdateCookies($http->incoming_cookies);
7636 
7637  // save transport object if using persistent connections
7638  if ($this->persistentConnection) {
7639  $http->clearDebug();
7640  if (!is_object($this->persistentConnection)) {
7641  $this->persistentConnection = $http;
7642  }
7643  }
7644 
7645  if ($err = $http->getError()) {
7646  $this->setError('HTTP Error: ' . $err);
7647  return false;
7648  } elseif ($this->getError()) {
7649  return false;
7650  } else {
7651  $this->debug('got response, length=' . strlen($this->responseData) . ' type=' . $http->incoming_headers['content-type']);
7652  return $this->parseResponse($http->incoming_headers, $this->responseData);
7653  }
7654  break;
7655  default:
7656  $this->setError('no transport found, or selected transport is not yet supported!');
7657  return false;
7658  break;
7659  }
7660  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
setError($str)
sets error string
Definition: nusoap.php:395
transport class for sending/receiving data via HTTP and HTTPS NOTE: PHP must be compiled with the CUR...
Definition: nusoap.php:2186
parseResponse($headers, $data)
processes SOAP message returned from server
Definition: nusoap.php:7670
getHTTPContentTypeCharset()
gets the HTTP content type charset for the current request.
Definition: nusoap.php:8036
getError()
returns error string if present
Definition: nusoap.php:381
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
checkCookies()
checks all Cookies and delete those which are expired
Definition: nusoap.php:8087
getHTTPContentType()
gets the HTTP content type for the current request.
Definition: nusoap.php:8022
$http
Definition: raiseError.php:7
UpdateCookies($cookies)
updates the current cookies with a new set
Definition: nusoap.php:8121
+ Here is the call graph for this function:

◆ setCookie()

nusoap_client::setCookie (   $name,
  $value 
)

adds a new Cookie into $this->cookies array

Parameters
string$nameCookie Name
string$valueCookie Value
Returns
boolean if cookie-set was successful returns true, else false public

Definition at line 8061 of file nusoap.php.

References $name.

8062  {
8063  if (strlen($name) == 0) {
8064  return false;
8065  }
8066  $this->cookies[] = array('name' => $name, 'value' => $value);
8067  return true;
8068  }
if($format !==null) $name
Definition: metadata.php:247

◆ setCredentials()

nusoap_client::setCredentials (   $username,
  $password,
  $authtype = 'basic',
  $certRequest = array() 
)

if authenticating, set user credentials here

Parameters
string$username
string$password
string$authtype(basic|digest|certificate|ntlm)
array$certRequest(keys must be cainfofile (optional), sslcertfile, sslkeyfile, passphrase, verifypeer (optional), verifyhost (optional): see corresponding options in cURL docs) public

Definition at line 7803 of file nusoap.php.

References nusoap_base\appendDebug(), nusoap_base\debug(), and nusoap_base\varDump().

7804  {
7805  $this->debug("setCredentials username=$username authtype=$authtype certRequest=");
7806  $this->appendDebug($this->varDump($certRequest));
7807  $this->username = $username;
7808  $this->password = $password;
7809  $this->authtype = $authtype;
7810  $this->certRequest = $certRequest;
7811  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:909
+ Here is the call graph for this function:

◆ setCurlOption()

nusoap_client::setCurlOption (   $option,
  $value 
)

sets user-specified cURL options

Parameters
mixed$optionThe cURL option (always integer?)
mixed$valueThe cURL option value public

Definition at line 7723 of file nusoap.php.

References nusoap_base\appendDebug(), nusoap_base\debug(), and nusoap_base\varDump().

7724  {
7725  $this->debug("setCurlOption option=$option, value=");
7726  $this->appendDebug($this->varDump($value));
7727  $this->curl_options[$option] = $value;
7728  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:909
+ Here is the call graph for this function:

◆ setDefaultRpcParams()

nusoap_client::setDefaultRpcParams (   $rpcParams)

sets the default RPC parameter setting.

If true, default is that call params are like RPC even for document style Each call() can override this value.

This is no longer used.

Parameters
boolean$rpcParamspublic
Deprecated:

Definition at line 7875 of file nusoap.php.

7876  {
7877  $this->defaultRpcParams = $rpcParams;
7878  }

◆ setEndpoint()

nusoap_client::setEndpoint (   $endpoint)

sets the SOAP endpoint, which can override WSDL

Parameters
string$endpointThe endpoint URL to use, or empty string or false to prevent override public

Definition at line 7736 of file nusoap.php.

References nusoap_base\debug().

7737  {
7738  $this->debug("setEndpoint(\"$endpoint\")");
7739  $this->forceEndpoint = $endpoint;
7740  }
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
+ Here is the call graph for this function:

◆ setHeaders()

nusoap_client::setHeaders (   $headers)

set the SOAP headers

Parameters
mixed$headersString of XML with SOAP header content, or array of soapval objects for SOAP headers public

Definition at line 7748 of file nusoap.php.

References nusoap_base\appendDebug(), nusoap_base\debug(), and nusoap_base\varDump().

7749  {
7750  $this->debug("setHeaders headers=");
7751  $this->appendDebug($this->varDump($headers));
7752  $this->requestHeaders = $headers;
7753  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:305
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:909
+ Here is the call graph for this function:

◆ setHTTPEncoding()

nusoap_client::setHTTPEncoding (   $enc = 'gzip,
deflate'   
)

use HTTP encoding

Parameters
string$encHTTP encoding public

Definition at line 7819 of file nusoap.php.

References nusoap_base\debug().

7820  {
7821  $this->debug("setHTTPEncoding(\"$enc\")");
7822  $this->http_encoding = $enc;
7823  }
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
+ Here is the call graph for this function:

◆ setHTTPProxy()

nusoap_client::setHTTPProxy (   $proxyhost,
  $proxyport,
  $proxyusername = '',
  $proxypassword = '' 
)

set proxy info here

Parameters
string$proxyhost
string$proxyport
string$proxyusername
string$proxypasswordpublic

Definition at line 7786 of file nusoap.php.

7787  {
7788  $this->proxyhost = $proxyhost;
7789  $this->proxyport = $proxyport;
7790  $this->proxyusername = $proxyusername;
7791  $this->proxypassword = $proxypassword;
7792  }

◆ setUseCURL()

nusoap_client::setUseCURL (   $use)

Set whether to try to use cURL connections if possible.

Parameters
boolean$useWhether to try to use cURL public

Definition at line 7831 of file nusoap.php.

References nusoap_base\debug().

7832  {
7833  $this->debug("setUseCURL($use)");
7834  $this->use_curl = $use;
7835  }
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
+ Here is the call graph for this function:

◆ UpdateCookies()

nusoap_client::UpdateCookies (   $cookies)

updates the current cookies with a new set

Parameters
array$cookiesnew cookies with which to update current ones
Returns
boolean always return true private

Definition at line 8121 of file nusoap.php.

References $i, $path, and nusoap_base\debug().

8122  {
8123  if (sizeof($this->cookies) == 0) {
8124  // no existing cookies: take whatever is new
8125  if (sizeof($cookies) > 0) {
8126  $this->debug('Setting new cookie(s)');
8127  $this->cookies = $cookies;
8128  }
8129  return true;
8130  }
8131  if (sizeof($cookies) == 0) {
8132  // no new cookies: keep what we've got
8133  return true;
8134  }
8135  // merge
8136  foreach ($cookies as $newCookie) {
8137  if (!is_array($newCookie)) {
8138  continue;
8139  }
8140  if ((!isset($newCookie['name'])) || (!isset($newCookie['value']))) {
8141  continue;
8142  }
8143  $newName = $newCookie['name'];
8144 
8145  $found = false;
8146  for ($i = 0; $i < count($this->cookies); $i++) {
8147  $cookie = $this->cookies[$i];
8148  if (!is_array($cookie)) {
8149  continue;
8150  }
8151  if (!isset($cookie['name'])) {
8152  continue;
8153  }
8154  if ($newName != $cookie['name']) {
8155  continue;
8156  }
8157  $newDomain = isset($newCookie['domain']) ? $newCookie['domain'] : 'NODOMAIN';
8158  $domain = isset($cookie['domain']) ? $cookie['domain'] : 'NODOMAIN';
8159  if ($newDomain != $domain) {
8160  continue;
8161  }
8162  $newPath = isset($newCookie['path']) ? $newCookie['path'] : 'NOPATH';
8163  $path = isset($cookie['path']) ? $cookie['path'] : 'NOPATH';
8164  if ($newPath != $path) {
8165  continue;
8166  }
8167  $this->cookies[$i] = $newCookie;
8168  $found = true;
8169  $this->debug('Update cookie ' . $newName . '=' . $newCookie['value']);
8170  break;
8171  }
8172  if (! $found) {
8173  $this->debug('Add cookie ' . $newName . '=' . $newCookie['value']);
8174  $this->cookies[] = $newCookie;
8175  }
8176  }
8177  return true;
8178  }
$path
Definition: ltiservices.php:32
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
$i
Definition: metadata.php:41
+ Here is the call graph for this function:

◆ useHTTPPersistentConnection()

nusoap_client::useHTTPPersistentConnection ( )

use HTTP persistent connections if possible

public

Definition at line 7842 of file nusoap.php.

References nusoap_base\debug().

7843  {
7844  $this->debug("useHTTPPersistentConnection");
7845  $this->persistentConnection = true;
7846  }
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:292
+ Here is the call graph for this function:

Field Documentation

◆ $authtype

nusoap_client::$authtype = ''

Definition at line 7209 of file nusoap.php.

◆ $bindingType

nusoap_client::$bindingType = ''

Definition at line 7235 of file nusoap.php.

◆ $certRequest

nusoap_client::$certRequest = array()

Definition at line 7210 of file nusoap.php.

◆ $cookies

nusoap_client::$cookies = array()

Definition at line 7231 of file nusoap.php.

◆ $curl_options

nusoap_client::$curl_options = array()

Definition at line 7234 of file nusoap.php.

◆ $decode_utf8

nusoap_client::$decode_utf8 = true

Definition at line 7232 of file nusoap.php.

◆ $defaultRpcParams

nusoap_client::$defaultRpcParams = false

Definition at line 7227 of file nusoap.php.

◆ $document

nusoap_client::$document = ''

Definition at line 7214 of file nusoap.php.

◆ $endpoint

nusoap_client::$endpoint

Definition at line 7215 of file nusoap.php.

◆ $endpointType

nusoap_client::$endpointType = ''

Definition at line 7225 of file nusoap.php.

◆ $fault

nusoap_client::$fault

Definition at line 7245 of file nusoap.php.

◆ $faultcode

nusoap_client::$faultcode

Definition at line 7250 of file nusoap.php.

◆ $faultdetail

nusoap_client::$faultdetail

Definition at line 7260 of file nusoap.php.

◆ $faultstring

nusoap_client::$faultstring

Definition at line 7255 of file nusoap.php.

◆ $forceEndpoint

nusoap_client::$forceEndpoint = ''

Definition at line 7216 of file nusoap.php.

◆ $http_encoding

nusoap_client::$http_encoding = false

Definition at line 7222 of file nusoap.php.

◆ $operations

nusoap_client::$operations = array()

Definition at line 7233 of file nusoap.php.

◆ $password

nusoap_client::$password = ''

Definition at line 7208 of file nusoap.php.

◆ $persistentConnection

nusoap_client::$persistentConnection = false

Definition at line 7226 of file nusoap.php.

◆ $proxyhost

nusoap_client::$proxyhost = ''

Definition at line 7217 of file nusoap.php.

◆ $proxypassword

nusoap_client::$proxypassword = ''

Definition at line 7220 of file nusoap.php.

◆ $proxyport

nusoap_client::$proxyport = ''

Definition at line 7218 of file nusoap.php.

◆ $proxyusername

nusoap_client::$proxyusername = ''

Definition at line 7219 of file nusoap.php.

◆ $request

nusoap_client::$request = ''

Definition at line 7228 of file nusoap.php.

◆ $requestHeaders

nusoap_client::$requestHeaders = false

Definition at line 7211 of file nusoap.php.

◆ $response

nusoap_client::$response = ''

Definition at line 7229 of file nusoap.php.

◆ $response_timeout

nusoap_client::$response_timeout = 30

Definition at line 7224 of file nusoap.php.

◆ $responseData

nusoap_client::$responseData = ''

Definition at line 7230 of file nusoap.php.

◆ $responseHeader

nusoap_client::$responseHeader = null

Definition at line 7213 of file nusoap.php.

◆ $responseHeaders

nusoap_client::$responseHeaders = ''

Definition at line 7212 of file nusoap.php.

◆ $timeout

nusoap_client::$timeout = 0

Definition at line 7223 of file nusoap.php.

◆ $use_curl

nusoap_client::$use_curl = false

Definition at line 7236 of file nusoap.php.

◆ $username

nusoap_client::$username = ''

Definition at line 7207 of file nusoap.php.

◆ $xml_encoding

nusoap_client::$xml_encoding = ''

Definition at line 7221 of file nusoap.php.


The documentation for this class was generated from the following file: