ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
soap_client Class Reference

soapclient higher level class for easy usage. More...

+ Inheritance diagram for soap_client:
+ Collaboration diagram for soap_client:

Public Member Functions

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

Data Fields

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

Detailed Description

soapclient higher level class for easy usage.

soap_client higher level class for easy usage.

usage:

// instantiate client with server info $soapclient = new soapclient( string path [ ,boolean 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 public

usage:

// instantiate client with server info $soap_client = new soap_client( string path [ ,boolean wsdl] );

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

// bye bye client unset($soap_client);

Author
Dietrich Ayala dietr.nosp@m.ich@.nosp@m.ganx4.nosp@m..com
Version
Id:
class.soap_client.php,v 1.52 2005/07/27 19:24:42 snichol Exp

public

usage:

// instantiate client with server info $soapclient = new soapclient( string path [ ,boolean 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
Version
Id:
class.soapclient.php 9095 2005-11-08 13:17:14Z smeyer

public

usage:

// instantiate client with server info $soap_client = new soap_client( string path [ ,boolean wsdl] );

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

// bye bye client unset($soap_client);

Author
Dietrich Ayala dietr.nosp@m.ich@.nosp@m.ganx4.nosp@m..com
Version
Id:
nusoap.php 16669 2008-05-20 18:28:36Z rkuester

public

Definition at line 4968 of file nusoap.php.

Member Function Documentation

soap_client::_getProxyClassCode (   $r)

dynamically creates proxy class code

Returns
string PHP/NuSOAP code for the proxy class private

Definition at line 635 of file class.soap_client.php.

References nusoap_base\setError().

Referenced by getProxy(), and getProxyClassCode().

{
if ($this->endpointType != 'wsdl') {
$evalStr = 'A proxy can only be created for a WSDL client';
$this->setError($evalStr);
return $evalStr;
}
$evalStr = '';
foreach ($this->operations as $operation => $opData) {
if ($operation != '') {
// create param string and param comment string
if (sizeof($opData['input']['parts']) > 0) {
$paramStr = '';
$paramArrayStr = '';
$paramCommentStr = '';
foreach ($opData['input']['parts'] as $name => $type) {
$paramStr .= "\$$name, ";
$paramArrayStr .= "'$name' => \$$name, ";
$paramCommentStr .= "$type \$$name, ";
}
$paramStr = substr($paramStr, 0, strlen($paramStr)-2);
$paramArrayStr = substr($paramArrayStr, 0, strlen($paramArrayStr)-2);
$paramCommentStr = substr($paramCommentStr, 0, strlen($paramCommentStr)-2);
} else {
$paramStr = '';
$paramCommentStr = 'void';
}
$opData['namespace'] = !isset($opData['namespace']) ? 'http://testuri.com' : $opData['namespace'];
$evalStr .= "// $paramCommentStr
function " . str_replace('.', '__', $operation) . "($paramStr) {
\$params = array($paramArrayStr);
return \$this->call('$operation', \$params, '".$opData['namespace']."', '".(isset($opData['soapAction']) ? $opData['soapAction'] : '')."');
}
";
unset($paramStr);
unset($paramCommentStr);
}
}
$evalStr = 'class soap_proxy_'.$r.' extends soap_client {
'.$evalStr.'
}';
return $evalStr;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

soap_client::_getProxyClassCode (   $r)

dynamically creates proxy class code

Returns
string PHP/NuSOAP code for the proxy class private

Definition at line 7034 of file nusoap.php.

References nusoap_base\setError().

{
if ($this->endpointType != 'wsdl') {
$evalStr = 'A proxy can only be created for a WSDL client';
$this->setError($evalStr);
return $evalStr;
}
$evalStr = '';
foreach ($this->operations as $operation => $opData) {
if ($operation != '') {
// create param string and param comment string
if (sizeof($opData['input']['parts']) > 0) {
$paramStr = '';
$paramArrayStr = '';
$paramCommentStr = '';
foreach ($opData['input']['parts'] as $name => $type) {
$paramStr .= "\$$name, ";
$paramArrayStr .= "'$name' => \$$name, ";
$paramCommentStr .= "$type \$$name, ";
}
$paramStr = substr($paramStr, 0, strlen($paramStr)-2);
$paramArrayStr = substr($paramArrayStr, 0, strlen($paramArrayStr)-2);
$paramCommentStr = substr($paramCommentStr, 0, strlen($paramCommentStr)-2);
} else {
$paramStr = '';
$paramCommentStr = 'void';
}
$opData['namespace'] = !isset($opData['namespace']) ? 'http://testuri.com' : $opData['namespace'];
$evalStr .= "// $paramCommentStr
function " . str_replace('.', '__', $operation) . "($paramStr) {
\$params = array($paramArrayStr);
return \$this->call('$operation', \$params, '".$opData['namespace']."', '".(isset($opData['soapAction']) ? $opData['soapAction'] : '')."');
}
";
unset($paramStr);
unset($paramCommentStr);
}
}
$evalStr = 'class soap_proxy_'.$r.' extends soap_client {
'.$evalStr.'
}';
return $evalStr;
}

+ Here is the call graph for this function:

soap_client::call (   $operation,
  $params = array(),
  $namespace = '',
  $soapAction = '',
  $headers = false,
  $rpcParams = null,
  $style = 'rpc',
  $use = 'encoded' 
)

calls method, returns PHP native type

Parameters
string$methodSOAP server URL or path
array$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)
boolean$headersoptional array of soapval objects for headers
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 public

Definition at line 141 of file class.soapclient.php.

References $namespace, nusoap_base\$usedNamespaces, nusoap_base\debug(), nusoap_base\getError(), getHTTPBody(), getOperationData(), nusoap_base\getPrefixFromNamespace(), send(), nusoap_base\serialize_val(), nusoap_base\serializeEnvelope(), wsdl\serializeRPCParameters(), and nusoap_base\setError().

{
$this->operation = $operation;
$this->fault = false;
$this->error_str = '';
$this->request = '';
$this->response = '';
$this->responseData = '';
$this->faultstring = '';
$this->faultcode = '';
$this->opData = array();
$this->debug("call: $operation, $params, $namespace, $soapAction, $headers, $style, $use; endpointType: $this->endpointType");
if ($headers) {
$this->requestHeaders = $headers;
}
// serialize parameters
if($this->endpointType == 'wsdl' && $opData = $this->getOperationData($operation)){
// use WSDL for operation
$this->opData = $opData;
foreach($opData as $key => $value){
$this->debug("$key -> $value");
}
if (isset($opData['soapAction'])) {
$soapAction = $opData['soapAction'];
}
$this->endpoint = $opData['endpoint'];
$namespace = isset($opData['input']['namespace']) ? $opData['input']['namespace'] : ($namespace != '' ? $namespace : 'http://testuri.org');
$style = $opData['style'];
$use = $opData['input']['use'];
// add ns to ns array
if($namespace != '' && !isset($this->wsdl->namespaces[$namespace])){
$this->wsdl->namespaces['nu'] = $namespace;
}
$nsPrefix = $this->wsdl->getPrefixFromNamespace($namespace);
// serialize payload
if (is_string($params)) {
$this->debug("serializing param string for WSDL operation $operation");
$payload = $params;
} elseif (is_array($params)) {
$this->debug("serializing param array for WSDL operation $operation");
$payload = $this->wsdl->serializeRPCParameters($operation,'input',$params);
} else {
$this->debug('params must be array or string');
$this->setError('params must be array or string');
return false;
}
$usedNamespaces = $this->wsdl->usedNamespaces;
// Partial fix for multiple encoding styles in the same function call
$encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
if (isset($opData['output']['encodingStyle']) && $encodingStyle != $opData['output']['encodingStyle']) {
$methodEncodingStyle = ' SOAP-ENV:encodingStyle="' . $opData['output']['encodingStyle'] . '"';
} else {
$methodEncodingStyle = '';
}
$this->debug("wsdl debug: \n".$this->wsdl->debug_str);
$this->wsdl->debug_str = '';
if ($errstr = $this->wsdl->getError()) {
$this->debug('got wsdl error: '.$errstr);
$this->setError('wsdl error: '.$errstr);
return false;
}
} elseif($this->endpointType == 'wsdl') {
// operation not in WSDL
$this->setError( 'operation '.$operation.' not present.');
$this->debug("operation '$operation' not present.");
$this->debug("wsdl debug: \n".$this->wsdl->debug_str);
$this->wsdl->debug_str = '';
return false;
} else {
// no WSDL
if($namespace == ''){
$namespace = 'http://testuri.org';
}
//$this->namespaces['ns1'] = $namespace;
$nsPrefix = 'ns1';
// serialize
$payload = '';
if (is_string($params)) {
$this->debug("serializing param string for operation $operation");
$payload = $params;
} elseif (is_array($params)) {
$this->debug("serializing param array for operation $operation");
foreach($params as $k => $v){
$payload .= $this->serialize_val($v,$k,false,false,false,false,$use);
}
} else {
$this->debug('params must be array or string');
$this->setError('params must be array or string');
return false;
}
$usedNamespaces = array();
$methodEncodingStyle = '';
}
// wrap RPC calls with method element
if ($style == 'rpc') {
if ($use == 'literal') {
$this->debug("wrapping RPC request with literal method element");
$payload = "<$operation xmlns=\"$namespace\">" . $payload . "</$operation>";
} else {
$this->debug("wrapping RPC request with encoded method element");
$payload = "<$nsPrefix:$operation$methodEncodingStyle xmlns:$nsPrefix=\"$namespace\">" .
$payload .
"</$nsPrefix:$operation>";
}
}
// serialize envelope
$soapmsg = $this->serializeEnvelope($payload,$this->requestHeaders,$usedNamespaces,$style,$use);
$this->debug("endpoint: $this->endpoint, soapAction: $soapAction, namespace: $namespace, style: $style, use: $use");
$this->debug('SOAP message length: ' . strlen($soapmsg) . ' contents: ' . substr($soapmsg, 0, 1000));
// send
$return = $this->send($this->getHTTPBody($soapmsg),$soapAction,$this->timeout,$this->response_timeout);
if($errstr = $this->getError()){
$this->debug('Error: '.$errstr);
return false;
} else {
$this->return = $return;
$this->debug('sent message successfully and got a(n) '.gettype($return).' back');
// fault?
if(is_array($return) && isset($return['faultcode'])){
$this->debug('got fault');
$this->setError($return['faultcode'].': '.$return['faultstring']);
$this->fault = true;
foreach($return as $k => $v){
$this->$k = $v;
$this->debug("$k = $v<br>");
}
return $return;
} else {
// array of return values
if(is_array($return)){
// multiple 'out' parameters
if(sizeof($return) > 1){
return $return;
}
// single 'out' parameter
return array_shift($return);
// nothing returned (ie, echoVoid)
} else {
return "";
}
}
}
}

+ Here is the call graph for this function:

soap_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$methodSOAP 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
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 160 of file class.soap_client.php.

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

://tempuri.org',$soapAction='',$headers=false,$rpcParams=null,$style='rpc',$use='encoded'){
$this->operation = $operation;
$this->fault = false;
$this->setError('');
$this->request = '';
$this->response = '';
$this->responseData = '';
$this->faultstring = '';
$this->faultcode = '';
$this->opData = array();
$this->debug("call: operation=$operation, namespace=$namespace, soapAction=$soapAction, rpcParams=$rpcParams, style=$style, use=$use, endpointType=$this->endpointType");
$this->appendDebug('params=' . $this->varDump($params));
$this->appendDebug('headers=' . $this->varDump($headers));
if ($headers) {
$this->requestHeaders = $headers;
}
// serialize parameters
if($this->endpointType == 'wsdl' && $opData = $this->getOperationData($operation)){
// use WSDL for operation
$this->opData = $opData;
$this->debug("found operation");
$this->appendDebug('opData=' . $this->varDump($opData));
if (isset($opData['soapAction'])) {
$soapAction = $opData['soapAction'];
}
if (! $this->forceEndpoint) {
$this->endpoint = $opData['endpoint'];
} else {
$this->endpoint = $this->forceEndpoint;
}
$namespace = isset($opData['input']['namespace']) ? $opData['input']['namespace'] : $namespace;
$style = $opData['style'];
$use = $opData['input']['use'];
// add ns to ns array
if($namespace != '' && !isset($this->wsdl->namespaces[$namespace])){
$nsPrefix = 'ns' . rand(1000, 9999);
$this->wsdl->namespaces[$nsPrefix] = $namespace;
}
$nsPrefix = $this->wsdl->getPrefixFromNamespace($namespace);
// serialize payload
if (is_string($params)) {
$this->debug("serializing param string for WSDL operation $operation");
$payload = $params;
} elseif (is_array($params)) {
$this->debug("serializing param array for WSDL operation $operation");
$payload = $this->wsdl->serializeRPCParameters($operation,'input',$params);
} else {
$this->debug('params must be array or string');
$this->setError('params must be array or string');
return false;
}
$usedNamespaces = $this->wsdl->usedNamespaces;
if (isset($opData['input']['encodingStyle'])) {
$encodingStyle = $opData['input']['encodingStyle'];
} else {
$encodingStyle = '';
}
$this->appendDebug($this->wsdl->getDebug());
$this->wsdl->clearDebug();
if ($errstr = $this->wsdl->getError()) {
$this->debug('got wsdl error: '.$errstr);
$this->setError('wsdl error: '.$errstr);
return false;
}
} elseif($this->endpointType == 'wsdl') {
// operation not in WSDL
$this->appendDebug($this->wsdl->getDebug());
$this->wsdl->clearDebug();
$this->setError( 'operation '.$operation.' not present.');
$this->debug("operation '$operation' not present.");
return false;
} else {
// no WSDL
//$this->namespaces['ns1'] = $namespace;
$nsPrefix = 'ns' . rand(1000, 9999);
// serialize
$payload = '';
if (is_string($params)) {
$this->debug("serializing param string for operation $operation");
$payload = $params;
} elseif (is_array($params)) {
$this->debug("serializing param array for operation $operation");
foreach($params as $k => $v){
$payload .= $this->serialize_val($v,$k,false,false,false,false,$use);
}
} else {
$this->debug('params must be array or string');
$this->setError('params must be array or string');
return false;
}
$usedNamespaces = array();
if ($use == 'encoded') {
$encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
} else {
$encodingStyle = '';
}
}
// wrap RPC calls with method element
if ($style == 'rpc') {
if ($use == 'literal') {
$this->debug("wrapping RPC request with literal method element");
if ($namespace) {
$payload = "<$operation xmlns=\"$namespace\">" . $payload . "</$operation>";
} else {
$payload = "<$operation>" . $payload . "</$operation>";
}
} else {
$this->debug("wrapping RPC request with encoded method element");
if ($namespace) {
$payload = "<$nsPrefix:$operation xmlns:$nsPrefix=\"$namespace\">" .
$payload .
"</$nsPrefix:$operation>";
} else {
$payload = "<$operation>" .
$payload .
"</$operation>";
}
}
}
// serialize envelope
$soapmsg = $this->serializeEnvelope($payload,$this->requestHeaders,$usedNamespaces,$style,$use,$encodingStyle);
$this->debug("endpoint=$this->endpoint, soapAction=$soapAction, namespace=$namespace, style=$style, use=$use, encodingStyle=$encodingStyle");
$this->debug('SOAP message length=' . strlen($soapmsg) . ' contents (max 1000 bytes)=' . substr($soapmsg, 0, 1000));
// send
$return = $this->send($this->getHTTPBody($soapmsg),$soapAction,$this->timeout,$this->response_timeout);
if($errstr = $this->getError()){
$this->debug('Error: '.$errstr);
return false;
} else {
$this->return = $return;
$this->debug('sent message successfully and got a(n) '.gettype($return));
$this->appendDebug('return=' . $this->varDump($return));
// fault?
if(is_array($return) && isset($return['faultcode'])){
$this->debug('got fault');
$this->setError($return['faultcode'].': '.$return['faultstring']);
$this->fault = true;
foreach($return as $k => $v){
$this->$k = $v;
$this->debug("$k = $v<br>");
}
return $return;
} elseif ($style == 'document') {
// NOTE: if the response is defined to have multiple parts (i.e. unwrapped),
// we are only going to return the first part here...sorry about that
return $return;
} else {
// array of return values
if(is_array($return)){
// multiple 'out' parameters, which we return wrapped up
// in the array
if(sizeof($return) > 1){
return $return;
}
// single 'out' parameter (normally the return value)
$return = array_shift($return);
$this->debug('return shifted value: ');
$this->appendDebug($this->varDump($return));
return $return;
// nothing returned (ie, echoVoid)
} else {
return "";
}
}
}
}

+ Here is the call graph for this function:

soap_client::call (   $operation,
  $params = array(),
  $namespace = '',
  $soapAction = '',
  $headers = false,
  $rpcParams = null,
  $style = 'rpc',
  $use = 'encoded' 
)

calls method, returns PHP native type

Parameters
string$methodSOAP server URL or path
array$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)
boolean$headersoptional array of soapval objects for headers
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 public

Definition at line 5084 of file nusoap.php.

References $namespace, nusoap_base\$usedNamespaces, nusoap_base\debug(), nusoap_base\getError(), getHTTPBody(), getOperationData(), nusoap_base\getPrefixFromNamespace(), send(), nusoap_base\serialize_val(), nusoap_base\serializeEnvelope(), wsdl\serializeRPCParameters(), and nusoap_base\setError().

Referenced by ilSOAPAuth\validateSOAPUser().

{
$this->operation = $operation;
$this->fault = false;
$this->error_str = '';
$this->request = '';
$this->response = '';
$this->responseData = '';
$this->faultstring = '';
$this->faultcode = '';
$this->opData = array();
$this->debug("call: $operation, $params, $namespace, $soapAction, $headers, $style, $use; endpointType: $this->endpointType");
if ($headers) {
$this->requestHeaders = $headers;
}
// serialize parameters
if($this->endpointType == 'wsdl' && $opData = $this->getOperationData($operation)){
// use WSDL for operation
$this->opData = $opData;
foreach($opData as $key => $value){
$this->debug("$key -> $value");
}
if (isset($opData['soapAction'])) {
$soapAction = $opData['soapAction'];
}
$this->endpoint = $opData['endpoint'];
$namespace = isset($opData['input']['namespace']) ? $opData['input']['namespace'] : ($namespace != '' ? $namespace : 'http://testuri.org');
$style = $opData['style'];
$use = $opData['input']['use'];
// add ns to ns array
if($namespace != '' && !isset($this->wsdl->namespaces[$namespace])){
$this->wsdl->namespaces['nu'] = $namespace;
}
$nsPrefix = $this->wsdl->getPrefixFromNamespace($namespace);
// serialize payload
if (is_string($params)) {
$this->debug("serializing param string for WSDL operation $operation");
$payload = $params;
} elseif (is_array($params)) {
$this->debug("serializing param array for WSDL operation $operation");
$payload = $this->wsdl->serializeRPCParameters($operation,'input',$params);
} else {
$this->debug('params must be array or string');
$this->setError('params must be array or string');
return false;
}
$usedNamespaces = $this->wsdl->usedNamespaces;
// Partial fix for multiple encoding styles in the same function call
$encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
if (isset($opData['output']['encodingStyle']) && $encodingStyle != $opData['output']['encodingStyle']) {
$methodEncodingStyle = ' SOAP-ENV:encodingStyle="' . $opData['output']['encodingStyle'] . '"';
} else {
$methodEncodingStyle = '';
}
$this->debug("wsdl debug: \n".$this->wsdl->debug_str);
$this->wsdl->debug_str = '';
if ($errstr = $this->wsdl->getError()) {
$this->debug('got wsdl error: '.$errstr);
$this->setError('wsdl error: '.$errstr);
return false;
}
} elseif($this->endpointType == 'wsdl') {
// operation not in WSDL
$this->setError( 'operation '.$operation.' not present.');
$this->debug("operation '$operation' not present.");
$this->debug("wsdl debug: \n".$this->wsdl->debug_str);
$this->wsdl->debug_str = '';
return false;
} else {
// no WSDL
if($namespace == ''){
$namespace = 'http://testuri.org';
}
//$this->namespaces['ns1'] = $namespace;
$nsPrefix = 'ns1';
// serialize
$payload = '';
if (is_string($params)) {
$this->debug("serializing param string for operation $operation");
$payload = $params;
} elseif (is_array($params)) {
$this->debug("serializing param array for operation $operation");
foreach($params as $k => $v){
$payload .= $this->serialize_val($v,$k,false,false,false,false,$use);
}
} else {
$this->debug('params must be array or string');
$this->setError('params must be array or string');
return false;
}
$usedNamespaces = array();
$methodEncodingStyle = '';
}
// wrap RPC calls with method element
if ($style == 'rpc') {
if ($use == 'literal') {
$this->debug("wrapping RPC request with literal method element");
$payload = "<$operation xmlns=\"$namespace\">" . $payload . "</$operation>";
} else {
$this->debug("wrapping RPC request with encoded method element");
$payload = "<$nsPrefix:$operation$methodEncodingStyle xmlns:$nsPrefix=\"$namespace\">" .
$payload .
"</$nsPrefix:$operation>";
}
}
// serialize envelope
$soapmsg = $this->serializeEnvelope($payload,$this->requestHeaders,$usedNamespaces,$style,$use);
//echo htmlentities($soapmsg)."<br><br>";
$this->debug("endpoint: $this->endpoint, soapAction: $soapAction, namespace: $namespace, style: $style, use: $use");
$this->debug('SOAP message length: ' . strlen($soapmsg) . ' contents: ' . substr($soapmsg, 0, 1000));
// send
$return = $this->send($this->getHTTPBody($soapmsg),$soapAction,$this->timeout,$this->response_timeout);
if($errstr = $this->getError()){
$this->debug('Error: '.$errstr);
return false;
} else {
$this->return = $return;
$this->debug('sent message successfully and got a(n) '.gettype($return).' back');
// fault?
if(is_array($return) && isset($return['faultcode'])){
$this->debug('got fault');
$this->setError($return['faultcode'].': '.$return['faultstring']);
$this->fault = true;
foreach($return as $k => $v){
$this->$k = $v;
$this->debug("$k = $v<br>");
}
return $return;
} else {
// array of return values
if(is_array($return)){
// multiple 'out' parameters
if(sizeof($return) > 1){
return $return;
}
// single 'out' parameter
return array_shift($return);
// nothing returned (ie, echoVoid)
} else {
return "";
}
}
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

soap_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$methodSOAP 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
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 6553 of file nusoap.php.

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

://tempuri.org',$soapAction='',$headers=false,$rpcParams=null,$style='rpc',$use='encoded'){
$this->operation = $operation;
$this->fault = false;
$this->setError('');
$this->request = '';
$this->response = '';
$this->responseData = '';
$this->faultstring = '';
$this->faultcode = '';
$this->opData = array();
$this->debug("call: operation=$operation, namespace=$namespace, soapAction=$soapAction, rpcParams=$rpcParams, style=$style, use=$use, endpointType=$this->endpointType");
$this->appendDebug('params=' . $this->varDump($params));
$this->appendDebug('headers=' . $this->varDump($headers));
if ($headers) {
$this->requestHeaders = $headers;
}
// serialize parameters
if($this->endpointType == 'wsdl' && $opData = $this->getOperationData($operation)){
// use WSDL for operation
$this->opData = $opData;
$this->debug("found operation");
$this->appendDebug('opData=' . $this->varDump($opData));
if (isset($opData['soapAction'])) {
$soapAction = $opData['soapAction'];
}
if (! $this->forceEndpoint) {
$this->endpoint = $opData['endpoint'];
} else {
$this->endpoint = $this->forceEndpoint;
}
$namespace = isset($opData['input']['namespace']) ? $opData['input']['namespace'] : $namespace;
$style = $opData['style'];
$use = $opData['input']['use'];
// add ns to ns array
if($namespace != '' && !isset($this->wsdl->namespaces[$namespace])){
$nsPrefix = 'ns' . rand(1000, 9999);
$this->wsdl->namespaces[$nsPrefix] = $namespace;
}
$nsPrefix = $this->wsdl->getPrefixFromNamespace($namespace);
// serialize payload
if (is_string($params)) {
$this->debug("serializing param string for WSDL operation $operation");
$payload = $params;
} elseif (is_array($params)) {
$this->debug("serializing param array for WSDL operation $operation");
$payload = $this->wsdl->serializeRPCParameters($operation,'input',$params);
} else {
$this->debug('params must be array or string');
$this->setError('params must be array or string');
return false;
}
$usedNamespaces = $this->wsdl->usedNamespaces;
if (isset($opData['input']['encodingStyle'])) {
$encodingStyle = $opData['input']['encodingStyle'];
} else {
$encodingStyle = '';
}
$this->appendDebug($this->wsdl->getDebug());
$this->wsdl->clearDebug();
if ($errstr = $this->wsdl->getError()) {
$this->debug('got wsdl error: '.$errstr);
$this->setError('wsdl error: '.$errstr);
return false;
}
} elseif($this->endpointType == 'wsdl') {
// operation not in WSDL
$this->appendDebug($this->wsdl->getDebug());
$this->wsdl->clearDebug();
$this->setError( 'operation '.$operation.' not present.');
$this->debug("operation '$operation' not present.");
return false;
} else {
// no WSDL
//$this->namespaces['ns1'] = $namespace;
$nsPrefix = 'ns' . rand(1000, 9999);
$nsPrefix = 'ns1'; // patched, alex killing 11.2.2008 (otherwise soap auth fails.
// we need to use the same namespace prefix for parameters as well
// unfortunately these cannot be passed, see class.ilSOAPAuth.php
// serialize
$payload = '';
if (is_string($params)) {
$this->debug("serializing param string for operation $operation");
$payload = $params;
} elseif (is_array($params)) {
$this->debug("serializing param array for operation $operation");
foreach($params as $k => $v){
$payload .= $this->serialize_val($v,$k,false,false,false,false,$use);
}
} else {
$this->debug('params must be array or string');
$this->setError('params must be array or string');
return false;
}
$usedNamespaces = array();
if ($use == 'encoded') {
$encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
} else {
$encodingStyle = '';
}
}
// wrap RPC calls with method element
if ($style == 'rpc') {
if ($use == 'literal') {
$this->debug("wrapping RPC request with literal method element");
if ($namespace) {
$payload = "<$operation xmlns=\"$namespace\">" . $payload . "</$operation>";
} else {
$payload = "<$operation>" . $payload . "</$operation>";
}
} else {
$this->debug("wrapping RPC request with encoded method element");
if ($namespace) {
$payload = "<$nsPrefix:$operation xmlns:$nsPrefix=\"$namespace\">" .
$payload .
"</$nsPrefix:$operation>";
} else {
$payload = "<$operation>" .
$payload .
"</$operation>";
}
}
}
// serialize envelope
$soapmsg = $this->serializeEnvelope($payload,$this->requestHeaders,$usedNamespaces,$style,$use,$encodingStyle);
$this->debug("endpoint=$this->endpoint, soapAction=$soapAction, namespace=$namespace, style=$style, use=$use, encodingStyle=$encodingStyle");
$this->debug('SOAP message length=' . strlen($soapmsg) . ' contents (max 1000 bytes)=' . substr($soapmsg, 0, 1000));
// send
$return = $this->send($this->getHTTPBody($soapmsg),$soapAction,$this->timeout,$this->response_timeout);
if($errstr = $this->getError()){
$this->debug('Error: '.$errstr);
return false;
} else {
$this->return = $return;
$this->debug('sent message successfully and got a(n) '.gettype($return));
$this->appendDebug('return=' . $this->varDump($return));
// fault?
if(is_array($return) && isset($return['faultcode'])){
$this->debug('got fault');
$this->setError($return['faultcode'].': '.$return['faultstring']);
$this->fault = true;
foreach($return as $k => $v){
$this->$k = $v;
$this->debug("$k = $v<br>");
}
return $return;
} elseif ($style == 'document') {
// NOTE: if the response is defined to have multiple parts (i.e. unwrapped),
// we are only going to return the first part here...sorry about that
return $return;
} else {
// array of return values
if(is_array($return)){
// multiple 'out' parameters, which we return wrapped up
// in the array
if(sizeof($return) > 1){
return $return;
}
// single 'out' parameter (normally the return value)
$return = array_shift($return);
$this->debug('return shifted value: ');
$this->appendDebug($this->varDump($return));
return $return;
// nothing returned (ie, echoVoid)
} else {
return "";
}
}
}
}

+ Here is the call graph for this function:

soap_client::checkCookies ( )

checks all Cookies and delete those which are expired

Returns
always return true private

Definition at line 768 of file class.soap_client.php.

References $cookies, and nusoap_base\debug().

Referenced by send().

{
if (sizeof($this->cookies) == 0) {
return true;
}
$this->debug('checkCookie: check ' . sizeof($this->cookies) . ' cookies');
$curr_cookies = $this->cookies;
$this->cookies = array();
foreach ($curr_cookies as $cookie) {
if (! is_array($cookie)) {
$this->debug('Remove cookie that is not an array');
continue;
}
if ((isset($cookie['expires'])) && (! empty($cookie['expires']))) {
if (strtotime($cookie['expires']) > time()) {
$this->cookies[] = $cookie;
} else {
$this->debug('Remove expired cookie ' . $cookie['name']);
}
} else {
$this->cookies[] = $cookie;
}
}
$this->debug('checkCookie: '.sizeof($this->cookies).' cookies left in array');
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

soap_client::checkCookies ( )

checks all Cookies and delete those which are expired

Returns
always return true private

Definition at line 7167 of file nusoap.php.

References $cookies, and nusoap_base\debug().

{
if (sizeof($this->cookies) == 0) {
return true;
}
$this->debug('checkCookie: check ' . sizeof($this->cookies) . ' cookies');
$curr_cookies = $this->cookies;
$this->cookies = array();
foreach ($curr_cookies as $cookie) {
if (! is_array($cookie)) {
$this->debug('Remove cookie that is not an array');
continue;
}
if ((isset($cookie['expires'])) && (! empty($cookie['expires']))) {
if (strtotime($cookie['expires']) > time()) {
$this->cookies[] = $cookie;
} else {
$this->debug('Remove expired cookie ' . $cookie['name']);
}
} else {
$this->cookies[] = $cookie;
}
}
$this->debug('checkCookie: '.sizeof($this->cookies).' cookies left in array');
return true;
}

+ Here is the call graph for this function:

soap_client::decodeUTF8 (   $bool)

Definition at line 632 of file class.soapclient.php.

{
$this->decode_utf8 = $bool;
return true;
}
soap_client::decodeUTF8 (   $bool)

Definition at line 731 of file class.soap_client.php.

{
$this->decode_utf8 = $bool;
return true;
}
soap_client::decodeUTF8 (   $bool)

Definition at line 5577 of file nusoap.php.

{
$this->decode_utf8 = $bool;
return true;
}
soap_client::decodeUTF8 (   $bool)

Definition at line 7130 of file nusoap.php.

{
$this->decode_utf8 = $bool;
return true;
}
soap_client::getCookies ( )

gets all Cookies

Returns
array with all internal cookies public

Definition at line 758 of file class.soap_client.php.

References $cookies.

{
}
soap_client::getCookies ( )

gets all Cookies

Returns
array with all internal cookies public

Definition at line 7157 of file nusoap.php.

References $cookies.

{
}
soap_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.

public

Deprecated:

Definition at line 518 of file class.soapclient.php.

References $defaultRpcParams.

soap_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 570 of file class.soap_client.php.

References $defaultRpcParams.

soap_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.

public

Deprecated:

Definition at line 5463 of file nusoap.php.

References $defaultRpcParams.

soap_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 6969 of file nusoap.php.

References $defaultRpcParams.

soap_client::getHeaders ( )

get the response headers

Returns
mixed object SOAPx4 soapval object or empty if no headers public

Definition at line 453 of file class.soapclient.php.

References $responseHeaders.

{
if($this->responseHeaders != '') {
}
}
soap_client::getHeaders ( )

get the SOAP response headers (namespace resolution incomplete)

Returns
string public

Definition at line 504 of file class.soap_client.php.

References $responseHeaders.

soap_client::getHeaders ( )

get the response headers

Returns
mixed object SOAPx4 soapval object or empty if no headers public

Definition at line 5398 of file nusoap.php.

References $responseHeaders.

{
if($this->responseHeaders != '') {
}
}
soap_client::getHeaders ( )

get the SOAP response headers (namespace resolution incomplete)

Returns
string public

Definition at line 6903 of file nusoap.php.

References $responseHeaders.

soap_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 protected

Reimplemented in soap_clientmime.

Definition at line 597 of file class.soapclient.php.

{
return $soapmsg;
}
soap_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

Reimplemented in soap_clientmime.

Definition at line 696 of file class.soap_client.php.

{
return $soapmsg;
}
soap_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 protected

Reimplemented in soap_clientmime.

Definition at line 5542 of file nusoap.php.

Referenced by call().

{
return $soapmsg;
}

+ Here is the caller graph for this function:

soap_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

Reimplemented in soap_clientmime.

Definition at line 7095 of file nusoap.php.

{
return $soapmsg;
}
soap_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. protected

Reimplemented in soap_clientmime.

Definition at line 609 of file class.soapclient.php.

{
return 'text/xml';
}
soap_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

Reimplemented in soap_clientmime.

Definition at line 708 of file class.soap_client.php.

{
return 'text/xml';
}
soap_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. protected

Reimplemented in soap_clientmime.

Definition at line 5554 of file nusoap.php.

Referenced by send().

{
return 'text/xml';
}

+ Here is the caller graph for this function:

soap_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

Reimplemented in soap_clientmime.

Definition at line 7107 of file nusoap.php.

{
return 'text/xml';
}
soap_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. protected

Reimplemented in soap_clientmime.

Definition at line 622 of file class.soapclient.php.

References nusoap_base\$soap_defencoding.

soap_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

Reimplemented in soap_clientmime.

Definition at line 721 of file class.soap_client.php.

References nusoap_base\$soap_defencoding.

soap_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. protected

Reimplemented in soap_clientmime.

Definition at line 5567 of file nusoap.php.

References nusoap_base\$soap_defencoding.

Referenced by send().

+ Here is the caller graph for this function:

soap_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

Reimplemented in soap_clientmime.

Definition at line 7120 of file nusoap.php.

References nusoap_base\$soap_defencoding.

soap_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 293 of file class.soapclient.php.

References nusoap_base\debug().

{
if(isset($this->operations[$operation])){
return $this->operations[$operation];
}
$this->debug("No data for operation: $operation");
}

+ Here is the call graph for this function:

soap_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 336 of file class.soap_client.php.

References nusoap_base\debug().

{
if(isset($this->operations[$operation])){
return $this->operations[$operation];
}
$this->debug("No data for operation: $operation");
}

+ Here is the call graph for this function:

soap_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 5237 of file nusoap.php.

References nusoap_base\debug().

Referenced by call().

{
if(isset($this->operations[$operation])){
return $this->operations[$operation];
}
$this->debug("No data for operation: $operation");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

soap_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 6735 of file nusoap.php.

References nusoap_base\debug().

{
if(isset($this->operations[$operation])){
return $this->operations[$operation];
}
$this->debug("No data for operation: $operation");
}

+ Here is the call graph for this function:

soap_client::getProxy ( )

dynamically creates proxy class, allowing user to directly call methods from wsdl

Returns
object soap_proxy object public

Definition at line 540 of file class.soapclient.php.

References $defaultRpcParams, $http_encoding, $operations, $password, $persistentConnection, $proxyhost, $proxypassword, $proxyport, $proxyusername, $response_timeout, $timeout, and $username.

{
$evalStr = '';
foreach($this->operations as $operation => $opData){
if($operation != ''){
// create param string
$paramStr = '';
if(sizeof($opData['input']['parts']) > 0){
foreach($opData['input']['parts'] as $name => $type){
$paramStr .= "\$$name,";
}
$paramStr = substr($paramStr,0,strlen($paramStr)-1);
}
$opData['namespace'] = !isset($opData['namespace']) ? 'http://testuri.com' : $opData['namespace'];
$evalStr .= "function $operation ($paramStr){
// load params into array
\$params = array($paramStr);
return \$this->call('$operation',\$params,'".$opData['namespace']."','".(isset($opData['soapAction']) ? $opData['soapAction'] : '')."');
}";
unset($paramStr);
}
}
$r = rand();
$evalStr = 'class soap_proxy_'.$r.' extends soap_client {
'.$evalStr.'
}';
//print "proxy class:<pre>$evalStr</pre>";
// eval the class
eval($evalStr);
// instantiate proxy object
eval("\$proxy = new soap_proxy_$r('');");
// transfer current wsdl data to the proxy thereby avoiding parsing the wsdl twice
$proxy->endpointType = 'wsdl';
$proxy->wsdlFile = $this->wsdlFile;
$proxy->wsdl = $this->wsdl;
$proxy->operations = $this->operations;
$proxy->defaultRpcParams = $this->defaultRpcParams;
// transfer other state
$proxy->username = $this->username;
$proxy->password = $this->password;
$proxy->proxyhost = $this->proxyhost;
$proxy->proxyport = $this->proxyport;
$proxy->proxyusername = $this->proxyusername;
$proxy->proxypassword = $this->proxypassword;
$proxy->timeout = $this->timeout;
$proxy->response_timeout = $this->response_timeout;
$proxy->http_encoding = $this->http_encoding;
$proxy->persistentConnection = $this->persistentConnection;
return $proxy;
}
soap_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 596 of file class.soap_client.php.

References $authtype, $defaultRpcParams, $endpoint, $forceEndpoint, $http_encoding, $operations, $password, $persistentConnection, $proxyhost, $proxypassword, $proxyport, $proxyusername, $requestHeaders, $response_timeout, nusoap_base\$soap_defencoding, $timeout, $username, and _getProxyClassCode().

{
$r = rand();
$evalStr = $this->_getProxyClassCode($r);
//$this->debug("proxy class: $evalStr";
// eval the class
eval($evalStr);
// instantiate proxy object
eval("\$proxy = new soap_proxy_$r('');");
// transfer current wsdl data to the proxy thereby avoiding parsing the wsdl twice
$proxy->endpointType = 'wsdl';
$proxy->wsdlFile = $this->wsdlFile;
$proxy->wsdl = $this->wsdl;
$proxy->operations = $this->operations;
$proxy->defaultRpcParams = $this->defaultRpcParams;
// transfer other state
$proxy->username = $this->username;
$proxy->password = $this->password;
$proxy->authtype = $this->authtype;
$proxy->proxyhost = $this->proxyhost;
$proxy->proxyport = $this->proxyport;
$proxy->proxyusername = $this->proxyusername;
$proxy->proxypassword = $this->proxypassword;
$proxy->timeout = $this->timeout;
$proxy->response_timeout = $this->response_timeout;
$proxy->http_encoding = $this->http_encoding;
$proxy->persistentConnection = $this->persistentConnection;
$proxy->requestHeaders = $this->requestHeaders;
$proxy->soap_defencoding = $this->soap_defencoding;
$proxy->endpoint = $this->endpoint;
$proxy->forceEndpoint = $this->forceEndpoint;
return $proxy;
}

+ Here is the call graph for this function:

soap_client::getProxy ( )

dynamically creates proxy class, allowing user to directly call methods from wsdl

Returns
object soap_proxy object public

Definition at line 5485 of file nusoap.php.

References $defaultRpcParams, $http_encoding, $operations, $password, $persistentConnection, $proxyhost, $proxypassword, $proxyport, $proxyusername, $response_timeout, $timeout, and $username.

{
$evalStr = '';
foreach($this->operations as $operation => $opData){
if($operation != ''){
// create param string
$paramStr = '';
if(sizeof($opData['input']['parts']) > 0){
foreach($opData['input']['parts'] as $name => $type){
$paramStr .= "\$$name,";
}
$paramStr = substr($paramStr,0,strlen($paramStr)-1);
}
$opData['namespace'] = !isset($opData['namespace']) ? 'http://testuri.com' : $opData['namespace'];
$evalStr .= "function $operation ($paramStr){
// load params into array
\$params = array($paramStr);
return \$this->call('$operation',\$params,'".$opData['namespace']."','".(isset($opData['soapAction']) ? $opData['soapAction'] : '')."');
}";
unset($paramStr);
}
}
$r = rand();
$evalStr = 'class soap_proxy_'.$r.' extends soap_client {
'.$evalStr.'
}';
//print "proxy class:<pre>$evalStr</pre>";
// eval the class
eval($evalStr);
// instantiate proxy object
eval("\$proxy = new soap_proxy_$r('');");
// transfer current wsdl data to the proxy thereby avoiding parsing the wsdl twice
$proxy->endpointType = 'wsdl';
$proxy->wsdlFile = $this->wsdlFile;
$proxy->wsdl = $this->wsdl;
$proxy->operations = $this->operations;
$proxy->defaultRpcParams = $this->defaultRpcParams;
// transfer other state
$proxy->username = $this->username;
$proxy->password = $this->password;
$proxy->proxyhost = $this->proxyhost;
$proxy->proxyport = $this->proxyport;
$proxy->proxyusername = $this->proxyusername;
$proxy->proxypassword = $this->proxypassword;
$proxy->timeout = $this->timeout;
$proxy->response_timeout = $this->response_timeout;
$proxy->http_encoding = $this->http_encoding;
$proxy->persistentConnection = $this->persistentConnection;
return $proxy;
}
soap_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 6995 of file nusoap.php.

References $authtype, $defaultRpcParams, $endpoint, $forceEndpoint, $http_encoding, $operations, $password, $persistentConnection, $proxyhost, $proxypassword, $proxyport, $proxyusername, $requestHeaders, $response_timeout, nusoap_base\$soap_defencoding, $timeout, $username, and _getProxyClassCode().

{
$r = rand();
$evalStr = $this->_getProxyClassCode($r);
//$this->debug("proxy class: $evalStr";
// eval the class
eval($evalStr);
// instantiate proxy object
eval("\$proxy = new soap_proxy_$r('');");
// transfer current wsdl data to the proxy thereby avoiding parsing the wsdl twice
$proxy->endpointType = 'wsdl';
$proxy->wsdlFile = $this->wsdlFile;
$proxy->wsdl = $this->wsdl;
$proxy->operations = $this->operations;
$proxy->defaultRpcParams = $this->defaultRpcParams;
// transfer other state
$proxy->username = $this->username;
$proxy->password = $this->password;
$proxy->authtype = $this->authtype;
$proxy->proxyhost = $this->proxyhost;
$proxy->proxyport = $this->proxyport;
$proxy->proxyusername = $this->proxyusername;
$proxy->proxypassword = $this->proxypassword;
$proxy->timeout = $this->timeout;
$proxy->response_timeout = $this->response_timeout;
$proxy->http_encoding = $this->http_encoding;
$proxy->persistentConnection = $this->persistentConnection;
$proxy->requestHeaders = $this->requestHeaders;
$proxy->soap_defencoding = $this->soap_defencoding;
$proxy->endpoint = $this->endpoint;
$proxy->forceEndpoint = $this->forceEndpoint;
return $proxy;
}

+ Here is the call graph for this function:

soap_client::getProxyClassCode ( )

dynamically creates proxy class code

Returns
string PHP/NuSOAP code for the proxy class public

Definition at line 684 of file class.soap_client.php.

References _getProxyClassCode().

{
$r = rand();
return $this->_getProxyClassCode($r);
}

+ Here is the call graph for this function:

soap_client::getProxyClassCode ( )

dynamically creates proxy class code

Returns
string PHP/NuSOAP code for the proxy class public

Definition at line 7083 of file nusoap.php.

References _getProxyClassCode().

{
$r = rand();
return $this->_getProxyClassCode($r);
}

+ Here is the call graph for this function:

soap_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 protected

Reimplemented in soap_clientmime.

Definition at line 395 of file class.soapclient.php.

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

{
$this->debug('Entering parseResponse() for data of length ' . strlen($data) . ' and type ' . $headers['content-type']);
if (!strstr($headers['content-type'], 'text/xml')) {
$this->setError('Response not of type text/xml');
return false;
}
if (strpos($headers['content-type'], '=')) {
$enc = str_replace('"', '', substr(strstr($headers["content-type"], '='), 1));
$this->debug('Got response encoding: ' . $enc);
if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){
$this->xml_encoding = strtoupper($enc);
} else {
$this->xml_encoding = 'US-ASCII';
}
} else {
// should be US-ASCII, but for XML, let's be pragmatic and admit UTF-8 is most common
$this->xml_encoding = 'UTF-8';
}
$this->debug('Use encoding: ' . $this->xml_encoding . ' when creating soap_parser');
$parser = new soap_parser($data,$this->xml_encoding,$this->operation,$this->decode_utf8);
// add parser debug data to our debug
$this->debug($parser->debug_str);
// if parse errors
if($errstr = $parser->getError()){
$this->setError( $errstr);
// destroy the parser object
unset($parser);
return false;
} else {
// get SOAP headers
$this->responseHeaders = $parser->getHeaders();
// get decoded message
$return = $parser->get_response();
// add document for doclit support
$this->document = $parser->document;
// destroy the parser object
unset($parser);
// return decode message
return $return;
}
}

+ Here is the call graph for this function:

soap_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

Reimplemented in soap_clientmime.

Definition at line 436 of file class.soap_client.php.

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

{
$this->debug('Entering parseResponse() for data of length ' . strlen($data) . ' and type ' . $headers['content-type']);
if (!strstr($headers['content-type'], 'text/xml')) {
$this->setError('Response not of type text/xml');
return false;
}
if (strpos($headers['content-type'], '=')) {
$enc = str_replace('"', '', substr(strstr($headers["content-type"], '='), 1));
$this->debug('Got response encoding: ' . $enc);
if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){
$this->xml_encoding = strtoupper($enc);
} else {
$this->xml_encoding = 'US-ASCII';
}
} else {
// should be US-ASCII for HTTP 1.0 or ISO-8859-1 for HTTP 1.1
$this->xml_encoding = 'ISO-8859-1';
}
$this->debug('Use encoding: ' . $this->xml_encoding . ' when creating soap_parser');
$parser = new soap_parser($data,$this->xml_encoding,$this->operation,$this->decode_utf8);
// add parser debug data to our debug
$this->appendDebug($parser->getDebug());
// if parse errors
if($errstr = $parser->getError()){
$this->setError( $errstr);
// destroy the parser object
unset($parser);
return false;
} else {
// get SOAP headers
$this->responseHeaders = $parser->getHeaders();
// get decoded message
$return = $parser->get_response();
// add document for doclit support
$this->document = $parser->document;
// destroy the parser object
unset($parser);
// return decode message
return $return;
}
}

+ Here is the call graph for this function:

soap_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 protected

Reimplemented in soap_clientmime.

Definition at line 5339 of file nusoap.php.

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

Referenced by send().

{
$this->debug('Entering parseResponse() for data of length ' . strlen($data) . ' and type ' . $headers['content-type']);
if (!strstr($headers['content-type'], 'text/xml')) {
echo "-".$data."<br /><br />".htmlentities($data)."-";
$this->setError('Response not of type text/xml');
return false;
}
if (strpos($headers['content-type'], '=')) {
$enc = str_replace('"', '', substr(strstr($headers["content-type"], '='), 1));
$this->debug('Got response encoding: ' . $enc);
if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){
$this->xml_encoding = strtoupper($enc);
} else {
$this->xml_encoding = 'US-ASCII';
}
} else {
// should be US-ASCII, but for XML, let's be pragmatic and admit UTF-8 is most common
$this->xml_encoding = 'UTF-8';
}
$this->debug('Use encoding: ' . $this->xml_encoding . ' when creating soap_parser');
$parser = new soap_parser($data,$this->xml_encoding,$this->operation,$this->decode_utf8);
// add parser debug data to our debug
$this->debug($parser->debug_str);
// if parse errors
if($errstr = $parser->getError()){
$this->setError( $errstr);
// destroy the parser object
unset($parser);
return false;
} else {
// get SOAP headers
$this->responseHeaders = $parser->getHeaders();
// get decoded message
$return = $parser->get_response();
// add document for doclit support
$this->document = $parser->document;
// destroy the parser object
unset($parser);
// return decode message
return $return;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

soap_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

Reimplemented in soap_clientmime.

Definition at line 6835 of file nusoap.php.

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

{
$this->debug('Entering parseResponse() for data of length ' . strlen($data) . ' and type ' . $headers['content-type']);
if (!strstr($headers['content-type'], 'text/xml')) {
$this->setError('Response not of type text/xml');
return false;
}
if (strpos($headers['content-type'], '=')) {
$enc = str_replace('"', '', substr(strstr($headers["content-type"], '='), 1));
$this->debug('Got response encoding: ' . $enc);
if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){
$this->xml_encoding = strtoupper($enc);
} else {
$this->xml_encoding = 'US-ASCII';
}
} else {
// should be US-ASCII for HTTP 1.0 or ISO-8859-1 for HTTP 1.1
$this->xml_encoding = 'ISO-8859-1';
}
$this->debug('Use encoding: ' . $this->xml_encoding . ' when creating soap_parser');
$parser = new soap_parser($data,$this->xml_encoding,$this->operation,$this->decode_utf8);
// add parser debug data to our debug
$this->appendDebug($parser->getDebug());
// if parse errors
if($errstr = $parser->getError()){
$this->setError( $errstr);
// destroy the parser object
unset($parser);
return false;
} else {
// get SOAP headers
$this->responseHeaders = $parser->getHeaders();
// get decoded message
$return = $parser->get_response();
// add document for doclit support
$this->document = $parser->document;
// destroy the parser object
unset($parser);
// return decode message
return $return;
}
}

+ Here is the call graph for this function:

soap_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.

@param    string $msg a SOAPx4 soapmsg object
@param    string $soapaction SOAPAction value
@param    integer $timeout set connection timeout in seconds
@param      integer $response_timeout set response timeout in seconds
@return     mixed native PHP types.
@access   private

Definition at line 314 of file class.soapclient.php.

References $persistentConnection, $response_timeout, $timeout, nusoap_base\debug(), nusoap_base\getError(), getHTTPContentType(), getHTTPContentTypeCharset(), parseResponse(), and nusoap_base\setError().

{
// detect transport
switch(true){
// http(s)
case ereg('^http',$this->endpoint):
$this->debug('transporting via HTTP');
if($this->persistentConnection == true && is_object($this->persistentConnection)){
} else {
$http = new soap_transport_http($this->endpoint);
if ($this->persistentConnection) {
$http->usePersistentConnection();
}
}
$http->setContentType($this->getHTTPContentType(), $this->getHTTPContentTypeCharset());
$http->setSOAPAction($soapaction);
if($this->proxyhost && $this->proxyport){
$http->setProxy($this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword);
}
if($this->username != '' && $this->password != '') {
$http->setCredentials($this->username, $this->password, $this->authtype);
}
if($this->http_encoding != ''){
$http->setEncoding($this->http_encoding);
}
$this->debug('sending message, length: '.strlen($msg));
if(ereg('^http:',$this->endpoint)){
//if(strpos($this->endpoint,'http:')){
$this->responseData = $http->send($msg,$timeout,$response_timeout);
} elseif(ereg('^https',$this->endpoint)){
//} elseif(strpos($this->endpoint,'https:')){
//if(phpversion() == '4.3.0-dev'){
//$response = $http->send($msg,$timeout,$response_timeout);
//$this->request = $http->outgoing_payload;
//$this->response = $http->incoming_payload;
//} else
if (extension_loaded('curl')) {
$this->responseData = $http->sendHTTPS($msg,$timeout,$response_timeout);
} else {
$this->setError('CURL Extension, or OpenSSL extension w/ PHP version >= 4.3 is required for HTTPS');
}
} else {
$this->setError('no http/s in endpoint url');
}
$this->request = $http->outgoing_payload;
$this->response = $http->incoming_payload;
$this->debug("transport debug data...\n".$http->debug_str);
// save transport object if using persistent connections
if ($this->persistentConnection) {
$http->debug_str = '';
if (!is_object($this->persistentConnection)) {
$this->persistentConnection = $http;
}
}
if($err = $http->getError()){
$this->setError('HTTP Error: '.$err);
return false;
} elseif($this->getError()){
return false;
} else {
$this->debug('got response, length: '. strlen($this->responseData).' type: '.$http->incoming_headers['content-type']);
return $this->parseResponse($http->incoming_headers, $this->responseData);
}
break;
default:
$this->setError('no transport found, or selected transport is not yet supported!');
return false;
break;
}
}

+ Here is the call graph for this function:

soap_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.

@param    string $msg a SOAPx4 soapmsg object
@param    string $soapaction SOAPAction value
@param    integer $timeout set connection timeout in seconds
@param      integer $response_timeout set response timeout in seconds
@return     mixed native PHP types.
@access   private

Definition at line 357 of file class.soap_client.php.

References $persistentConnection, $response_timeout, $timeout, nusoap_base\appendDebug(), checkCookies(), nusoap_base\debug(), nusoap_base\getError(), getHTTPContentType(), getHTTPContentTypeCharset(), parseResponse(), nusoap_base\setError(), and UpdateCookies().

{
$this->checkCookies();
// detect transport
switch(true){
// http(s)
case ereg('^http',$this->endpoint):
$this->debug('transporting via HTTP');
if($this->persistentConnection == true && is_object($this->persistentConnection)){
} else {
$http = new soap_transport_http($this->endpoint);
if ($this->persistentConnection) {
$http->usePersistentConnection();
}
}
$http->setContentType($this->getHTTPContentType(), $this->getHTTPContentTypeCharset());
$http->setSOAPAction($soapaction);
if($this->proxyhost && $this->proxyport){
$http->setProxy($this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword);
}
if($this->authtype != '') {
$http->setCredentials($this->username, $this->password, $this->authtype, array(), $this->certRequest);
}
if($this->http_encoding != ''){
$http->setEncoding($this->http_encoding);
}
$this->debug('sending message, length='.strlen($msg));
if(ereg('^http:',$this->endpoint)){
//if(strpos($this->endpoint,'http:')){
$this->responseData = $http->send($msg,$timeout,$response_timeout,$this->cookies);
} elseif(ereg('^https',$this->endpoint)){
//} elseif(strpos($this->endpoint,'https:')){
//if(phpversion() == '4.3.0-dev'){
//$response = $http->send($msg,$timeout,$response_timeout);
//$this->request = $http->outgoing_payload;
//$this->response = $http->incoming_payload;
//} else
$this->responseData = $http->sendHTTPS($msg,$timeout,$response_timeout,$this->cookies);
} else {
$this->setError('no http/s in endpoint url');
}
$this->request = $http->outgoing_payload;
$this->response = $http->incoming_payload;
$this->appendDebug($http->getDebug());
$this->UpdateCookies($http->incoming_cookies);
// save transport object if using persistent connections
if ($this->persistentConnection) {
$http->clearDebug();
if (!is_object($this->persistentConnection)) {
$this->persistentConnection = $http;
}
}
if($err = $http->getError()){
$this->setError('HTTP Error: '.$err);
return false;
} elseif($this->getError()){
return false;
} else {
$this->debug('got response, length='. strlen($this->responseData).' type='.$http->incoming_headers['content-type']);
return $this->parseResponse($http->incoming_headers, $this->responseData);
}
break;
default:
$this->setError('no transport found, or selected transport is not yet supported!');
return false;
break;
}
}

+ Here is the call graph for this function:

soap_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.

@param    string $msg a SOAPx4 soapmsg object
@param    string $soapaction SOAPAction value
@param    integer $timeout set connection timeout in seconds
@param      integer $response_timeout set response timeout in seconds
@return     mixed native PHP types.
@access   private

Definition at line 5258 of file nusoap.php.

References $persistentConnection, $response_timeout, $timeout, nusoap_base\debug(), nusoap_base\getError(), getHTTPContentType(), getHTTPContentTypeCharset(), parseResponse(), and nusoap_base\setError().

Referenced by call().

{
// detect transport
switch(true){
// http(s)
case ereg('^http',$this->endpoint):
$this->debug('transporting via HTTP');
if($this->persistentConnection == true && is_object($this->persistentConnection)){
} else {
$http = new soap_transport_http($this->endpoint);
if ($this->persistentConnection) {
$http->usePersistentConnection();
}
}
$http->setContentType($this->getHTTPContentType(), $this->getHTTPContentTypeCharset());
$http->setSOAPAction($soapaction);
if($this->proxyhost && $this->proxyport){
$http->setProxy($this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword);
}
if($this->username != '' && $this->password != '') {
$http->setCredentials($this->username, $this->password, $this->authtype);
}
if($this->http_encoding != ''){
$http->setEncoding($this->http_encoding);
}
$this->debug('sending message, length: '.strlen($msg));
if(ereg('^http:',$this->endpoint)){
//if(strpos($this->endpoint,'http:')){
$this->responseData = $http->send($msg,$timeout,$response_timeout);
} elseif(ereg('^https',$this->endpoint)){
//} elseif(strpos($this->endpoint,'https:')){
//if(phpversion() == '4.3.0-dev'){
//$response = $http->send($msg,$timeout,$response_timeout);
//$this->request = $http->outgoing_payload;
//$this->response = $http->incoming_payload;
//} else
if (extension_loaded('curl')) {
$this->responseData = $http->sendHTTPS($msg,$timeout,$response_timeout);
} else {
$this->setError('CURL Extension, or OpenSSL extension w/ PHP version >= 4.3 is required for HTTPS');
}
} else {
$this->setError('no http/s in endpoint url');
}
$this->request = $http->outgoing_payload;
$this->response = $http->incoming_payload;
$this->debug("transport debug data...\n".$http->debug_str);
// save transport object if using persistent connections
if ($this->persistentConnection) {
$http->debug_str = '';
if (!is_object($this->persistentConnection)) {
$this->persistentConnection = $http;
}
}
if($err = $http->getError()){
$this->setError('HTTP Error: '.$err);
return false;
} elseif($this->getError()){
return false;
} else {
$this->debug('got response, length: '. strlen($this->responseData).' type: '.$http->incoming_headers['content-type']);
return $this->parseResponse($http->incoming_headers, $this->responseData);
}
break;
default:
$this->setError('no transport found, or selected transport is not yet supported!');
return false;
break;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

soap_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.

@param    string $msg a SOAPx4 soapmsg object
@param    string $soapaction SOAPAction value
@param    integer $timeout set connection timeout in seconds
@param      integer $response_timeout set response timeout in seconds
@return     mixed native PHP types.
@access   private

Definition at line 6756 of file nusoap.php.

References $persistentConnection, $response_timeout, $timeout, nusoap_base\appendDebug(), checkCookies(), nusoap_base\debug(), nusoap_base\getError(), getHTTPContentType(), getHTTPContentTypeCharset(), parseResponse(), nusoap_base\setError(), and UpdateCookies().

{
$this->checkCookies();
// detect transport
switch(true){
// http(s)
case ereg('^http',$this->endpoint):
$this->debug('transporting via HTTP');
if($this->persistentConnection == true && is_object($this->persistentConnection)){
} else {
$http = new soap_transport_http($this->endpoint);
if ($this->persistentConnection) {
$http->usePersistentConnection();
}
}
$http->setContentType($this->getHTTPContentType(), $this->getHTTPContentTypeCharset());
$http->setSOAPAction($soapaction);
if($this->proxyhost && $this->proxyport){
$http->setProxy($this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword);
}
if($this->authtype != '') {
$http->setCredentials($this->username, $this->password, $this->authtype, array(), $this->certRequest);
}
if($this->http_encoding != ''){
$http->setEncoding($this->http_encoding);
}
$this->debug('sending message, length='.strlen($msg));
if(ereg('^http:',$this->endpoint)){
//if(strpos($this->endpoint,'http:')){
$this->responseData = $http->send($msg,$timeout,$response_timeout,$this->cookies);
} elseif(ereg('^https',$this->endpoint)){
//} elseif(strpos($this->endpoint,'https:')){
//if(phpversion() == '4.3.0-dev'){
//$response = $http->send($msg,$timeout,$response_timeout);
//$this->request = $http->outgoing_payload;
//$this->response = $http->incoming_payload;
//} else
$this->responseData = $http->sendHTTPS($msg,$timeout,$response_timeout,$this->cookies);
} else {
$this->setError('no http/s in endpoint url');
}
$this->request = $http->outgoing_payload;
$this->response = $http->incoming_payload;
$this->appendDebug($http->getDebug());
$this->UpdateCookies($http->incoming_cookies);
// save transport object if using persistent connections
if ($this->persistentConnection) {
$http->clearDebug();
if (!is_object($this->persistentConnection)) {
$this->persistentConnection = $http;
}
}
if($err = $http->getError()){
$this->setError('HTTP Error: '.$err);
return false;
} elseif($this->getError()){
return false;
} else {
$this->debug('got response, length='. strlen($this->responseData).' type='.$http->incoming_headers['content-type']);
return $this->parseResponse($http->incoming_headers, $this->responseData);
}
break;
default:
$this->setError('no transport found, or selected transport is not yet supported!');
return false;
break;
}
}

+ Here is the call graph for this function:

soap_client::setCookie (   $name,
  $value 
)

adds a new Cookie into $this->cookies array

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

Definition at line 744 of file class.soap_client.php.

{
if (strlen($name) == 0) {
return false;
}
$this->cookies[] = array('name' => $name, 'value' => $value);
return true;
}
soap_client::setCookie (   $name,
  $value 
)

adds a new Cookie into $this->cookies array

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

Definition at line 7143 of file nusoap.php.

{
if (strlen($name) == 0) {
return false;
}
$this->cookies[] = array('name' => $name, 'value' => $value);
return true;
}
soap_client::setCredentials (   $username,
  $password,
  $authtype = 'basic' 
)

if authenticating, set user credentials here

Parameters
string$username
string$password
string$authtype(basic|digest) public

Definition at line 483 of file class.soapclient.php.

References $authtype, $password, and $username.

{
$this->username = $username;
$this->password = $password;
$this->authtype = $authtype;
}
soap_client::setCredentials (   $username,
  $password,
  $authtype = 'basic',
  $certRequest = array() 
)

if authenticating, set user credentials here

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

Definition at line 533 of file class.soap_client.php.

References $authtype, $certRequest, $password, and $username.

{
$this->username = $username;
$this->password = $password;
$this->authtype = $authtype;
$this->certRequest = $certRequest;
}
soap_client::setCredentials (   $username,
  $password,
  $authtype = 'basic' 
)

if authenticating, set user credentials here

Parameters
string$username
string$password
string$authtype(basic|digest) public

Definition at line 5428 of file nusoap.php.

References $authtype, $password, and $username.

{
$this->username = $username;
$this->password = $password;
$this->authtype = $authtype;
}
soap_client::setCredentials (   $username,
  $password,
  $authtype = 'basic',
  $certRequest = array() 
)

if authenticating, set user credentials here

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

Definition at line 6932 of file nusoap.php.

References $authtype, $certRequest, $password, and $username.

{
$this->username = $username;
$this->password = $password;
$this->authtype = $authtype;
$this->certRequest = $certRequest;
}
soap_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.

Parameters
boolean$rpcParamspublic

Definition at line 530 of file class.soapclient.php.

{
$this->defaultRpcParams = $rpcParams;
}
soap_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 585 of file class.soap_client.php.

{
$this->defaultRpcParams = $rpcParams;
}
soap_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.

Parameters
boolean$rpcParamspublic

Definition at line 5475 of file nusoap.php.

{
$this->defaultRpcParams = $rpcParams;
}
soap_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 6984 of file nusoap.php.

{
$this->defaultRpcParams = $rpcParams;
}
soap_client::setEndpoint (   $endpoint)

sets the SOAP endpoint, which can override WSDL

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

Definition at line 484 of file class.soap_client.php.

References $endpoint.

{
$this->forceEndpoint = $endpoint;
}
soap_client::setEndpoint (   $endpoint)

sets the SOAP endpoint, which can override WSDL

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

Definition at line 6883 of file nusoap.php.

References $endpoint.

{
$this->forceEndpoint = $endpoint;
}
soap_client::setHeaders (   $headers)

set the SOAP headers

Parameters
$headersstring XML public

Definition at line 443 of file class.soapclient.php.

{
$this->requestHeaders = $headers;
}
soap_client::setHeaders (   $headers)

set the SOAP headers

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

Definition at line 494 of file class.soap_client.php.

{
$this->requestHeaders = $headers;
}
soap_client::setHeaders (   $headers)

set the SOAP headers

Parameters
$headersstring XML public

Definition at line 5388 of file nusoap.php.

{
$this->requestHeaders = $headers;
}
soap_client::setHeaders (   $headers)

set the SOAP headers

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

Definition at line 6893 of file nusoap.php.

{
$this->requestHeaders = $headers;
}
soap_client::setHTTPEncoding (   $enc = 'gzip,
deflate'   
)

use HTTP encoding

Parameters
string$encpublic

Definition at line 495 of file class.soapclient.php.

{
$this->http_encoding = $enc;
}
soap_client::setHTTPEncoding (   $enc = 'gzip,
deflate'   
)

use HTTP encoding

Parameters
string$encpublic

Definition at line 546 of file class.soap_client.php.

{
$this->http_encoding = $enc;
}
soap_client::setHTTPEncoding (   $enc = 'gzip,
deflate'   
)

use HTTP encoding

Parameters
string$encpublic

Definition at line 5440 of file nusoap.php.

{
$this->http_encoding = $enc;
}
soap_client::setHTTPEncoding (   $enc = 'gzip,
deflate'   
)

use HTTP encoding

Parameters
string$encpublic

Definition at line 6945 of file nusoap.php.

{
$this->http_encoding = $enc;
}
soap_client::setHTTPProxy (   $proxyhost,
  $proxyport,
  $proxyusername = '',
  $proxypassword = '' 
)

set proxy info here

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

Definition at line 468 of file class.soapclient.php.

References $proxyhost, $proxypassword, $proxyport, and $proxyusername.

{
$this->proxyhost = $proxyhost;
$this->proxyport = $proxyport;
$this->proxyusername = $proxyusername;
$this->proxypassword = $proxypassword;
}
soap_client::setHTTPProxy (   $proxyhost,
  $proxyport,
  $proxyusername = '',
  $proxypassword = '' 
)

set proxy info here

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

Definition at line 517 of file class.soap_client.php.

References $proxyhost, $proxypassword, $proxyport, and $proxyusername.

{
$this->proxyhost = $proxyhost;
$this->proxyport = $proxyport;
$this->proxyusername = $proxyusername;
$this->proxypassword = $proxypassword;
}
soap_client::setHTTPProxy (   $proxyhost,
  $proxyport,
  $proxyusername = '',
  $proxypassword = '' 
)

set proxy info here

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

Definition at line 5413 of file nusoap.php.

References $proxyhost, $proxypassword, $proxyport, and $proxyusername.

{
$this->proxyhost = $proxyhost;
$this->proxyport = $proxyport;
$this->proxyusername = $proxyusername;
$this->proxypassword = $proxypassword;
}
soap_client::setHTTPProxy (   $proxyhost,
  $proxyport,
  $proxyusername = '',
  $proxypassword = '' 
)

set proxy info here

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

Definition at line 6916 of file nusoap.php.

References $proxyhost, $proxypassword, $proxyport, and $proxyusername.

{
$this->proxyhost = $proxyhost;
$this->proxyport = $proxyport;
$this->proxyusername = $proxyusername;
$this->proxypassword = $proxypassword;
}
soap_client::soap_client (   $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 77 of file class.soapclient.php.

References $endpoint, $proxyhost, $proxypassword, $proxyport, $proxyusername, $response_timeout, $timeout, nusoap_base\debug(), nusoap_base\getError(), wsdl\getOperations(), nusoap_base\setError(), and wsdl\wsdl().

{
$this->endpoint = $endpoint;
$this->proxyhost = $proxyhost;
$this->proxyport = $proxyport;
$this->proxyusername = $proxyusername;
$this->proxypassword = $proxypassword;
$this->timeout = $timeout;
$this->response_timeout = $response_timeout;
// make values
if($wsdl){
$this->endpointType = 'wsdl';
if (is_object($endpoint) && is_a($endpoint, 'wsdl')) {
$this->wsdl = $endpoint;
$this->endpoint = $this->wsdl->wsdl;
$this->wsdlFile = $this->endpoint;
$this->debug('existing wsdl instance created from ' . $this->endpoint);
} else {
$this->wsdlFile = $this->endpoint;
// instantiate wsdl object and parse wsdl file
$this->debug('instantiating wsdl class with doc: '.$endpoint);
$this->wsdl =& new wsdl($this->wsdlFile,$this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword,$this->timeout,$this->response_timeout);
}
$this->debug("wsdl debug...\n".$this->wsdl->debug_str);
$this->wsdl->debug_str = '';
// catch errors
if($errstr = $this->wsdl->getError()){
$this->debug('got wsdl error: '.$errstr);
$this->setError('wsdl error: '.$errstr);
} elseif($this->operations = $this->wsdl->getOperations()){
$this->debug( 'got '.count($this->operations).' operations from wsdl '.$this->wsdlFile);
} else {
$this->debug( 'getOperations returned false');
$this->setError('no operations defined in the WSDL document!');
}
}
}

+ Here is the call graph for this function:

soap_client::soap_client (   $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 92 of file class.soap_client.php.

References $endpoint, $proxyhost, $proxypassword, $proxyport, $proxyusername, $response_timeout, $timeout, nusoap_base\appendDebug(), nusoap_base\clearDebug(), nusoap_base\debug(), nusoap_base\getDebug(), nusoap_base\getError(), wsdl\getOperations(), nusoap_base\nusoap_base(), nusoap_base\setError(), and wsdl\wsdl().

{
$this->endpoint = $endpoint;
$this->proxyhost = $proxyhost;
$this->proxyport = $proxyport;
$this->proxyusername = $proxyusername;
$this->proxypassword = $proxypassword;
$this->timeout = $timeout;
$this->response_timeout = $response_timeout;
// make values
if($wsdl){
if (is_object($endpoint) && (get_class($endpoint) == 'wsdl')) {
$this->wsdl = $endpoint;
$this->endpoint = $this->wsdl->wsdl;
$this->wsdlFile = $this->endpoint;
$this->debug('existing wsdl instance created from ' . $this->endpoint);
} else {
$this->wsdlFile = $this->endpoint;
// instantiate wsdl object and parse wsdl file
$this->debug('instantiating wsdl class with doc: '.$endpoint);
$this->wsdl =& new wsdl($this->wsdlFile,$this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword,$this->timeout,$this->response_timeout);
}
$this->appendDebug($this->wsdl->getDebug());
$this->wsdl->clearDebug();
// catch errors
if($errstr = $this->wsdl->getError()){
$this->debug('got wsdl error: '.$errstr);
$this->setError('wsdl error: '.$errstr);
} elseif($this->operations = $this->wsdl->getOperations()){
$this->debug( 'got '.count($this->operations).' operations from wsdl '.$this->wsdlFile);
$this->endpointType = 'wsdl';
} else {
$this->debug( 'getOperations returned false');
$this->setError('no operations defined in the WSDL document!');
}
} else {
$this->debug("instantiate SOAP with endpoint at $endpoint");
$this->endpointType = 'soap';
}
}

+ Here is the call graph for this function:

soap_client::soap_client (   $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 5020 of file nusoap.php.

References $endpoint, $proxyhost, $proxypassword, $proxyport, $proxyusername, $response_timeout, $timeout, nusoap_base\debug(), nusoap_base\getError(), wsdl\getOperations(), nusoap_base\setError(), and wsdl\wsdl().

{
$this->endpoint = $endpoint;
$this->proxyhost = $proxyhost;
$this->proxyport = $proxyport;
$this->proxyusername = $proxyusername;
$this->proxypassword = $proxypassword;
$this->timeout = $timeout;
$this->response_timeout = $response_timeout;
// make values
if($wsdl){
$this->endpointType = 'wsdl';
if (is_object($endpoint) && is_a($endpoint, 'wsdl')) {
$this->wsdl = $endpoint;
$this->endpoint = $this->wsdl->wsdl;
$this->wsdlFile = $this->endpoint;
$this->debug('existing wsdl instance created from ' . $this->endpoint);
} else {
$this->wsdlFile = $this->endpoint;
// instantiate wsdl object and parse wsdl file
$this->debug('instantiating wsdl class with doc: '.$endpoint);
$this->wsdl =& new wsdl($this->wsdlFile,$this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword,$this->timeout,$this->response_timeout);
}
$this->debug("wsdl debug...\n".$this->wsdl->debug_str);
$this->wsdl->debug_str = '';
// catch errors
if($errstr = $this->wsdl->getError()){
$this->debug('got wsdl error: '.$errstr);
$this->setError('wsdl error: '.$errstr);
} elseif($this->operations = $this->wsdl->getOperations()){
$this->debug( 'got '.count($this->operations).' operations from wsdl '.$this->wsdlFile);
} else {
$this->debug( 'getOperations returned false');
$this->setError('no operations defined in the WSDL document!');
}
}
}

+ Here is the call graph for this function:

soap_client::soap_client (   $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 6485 of file nusoap.php.

References $endpoint, $proxyhost, $proxypassword, $proxyport, $proxyusername, $response_timeout, $timeout, nusoap_base\appendDebug(), nusoap_base\clearDebug(), nusoap_base\debug(), nusoap_base\getDebug(), nusoap_base\getError(), wsdl\getOperations(), nusoap_base\nusoap_base(), nusoap_base\setError(), and wsdl\wsdl().

{
$this->endpoint = $endpoint;
$this->proxyhost = $proxyhost;
$this->proxyport = $proxyport;
$this->proxyusername = $proxyusername;
$this->proxypassword = $proxypassword;
$this->timeout = $timeout;
$this->response_timeout = $response_timeout;
// make values
if($wsdl){
if (is_object($endpoint) && (get_class($endpoint) == 'wsdl')) {
$this->wsdl = $endpoint;
$this->endpoint = $this->wsdl->wsdl;
$this->wsdlFile = $this->endpoint;
$this->debug('existing wsdl instance created from ' . $this->endpoint);
} else {
$this->wsdlFile = $this->endpoint;
// instantiate wsdl object and parse wsdl file
$this->debug('instantiating wsdl class with doc: '.$endpoint);
$this->wsdl =& new wsdl($this->wsdlFile,$this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword,$this->timeout,$this->response_timeout);
}
$this->appendDebug($this->wsdl->getDebug());
$this->wsdl->clearDebug();
// catch errors
if($errstr = $this->wsdl->getError()){
$this->debug('got wsdl error: '.$errstr);
$this->setError('wsdl error: '.$errstr);
} elseif($this->operations = $this->wsdl->getOperations()){
$this->debug( 'got '.count($this->operations).' operations from wsdl '.$this->wsdlFile);
$this->endpointType = 'wsdl';
} else {
$this->debug( 'getOperations returned false');
$this->setError('no operations defined in the WSDL document!');
}
} else {
$this->debug("instantiate SOAP with endpoint at $endpoint");
$this->endpointType = 'soap';
}
}

+ Here is the call graph for this function:

soap_client::UpdateCookies (   $cookies)

updates the current cookies with a new set

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

Definition at line 801 of file class.soap_client.php.

References $cookies, and nusoap_base\debug().

Referenced by send().

{
if (sizeof($this->cookies) == 0) {
// no existing cookies: take whatever is new
if (sizeof($cookies) > 0) {
$this->debug('Setting new cookie(s)');
$this->cookies = $cookies;
}
return true;
}
if (sizeof($cookies) == 0) {
// no new cookies: keep what we've got
return true;
}
// merge
foreach ($cookies as $newCookie) {
if (!is_array($newCookie)) {
continue;
}
if ((!isset($newCookie['name'])) || (!isset($newCookie['value']))) {
continue;
}
$newName = $newCookie['name'];
$found = false;
for ($i = 0; $i < count($this->cookies); $i++) {
$cookie = $this->cookies[$i];
if (!is_array($cookie)) {
continue;
}
if (!isset($cookie['name'])) {
continue;
}
if ($newName != $cookie['name']) {
continue;
}
$newDomain = isset($newCookie['domain']) ? $newCookie['domain'] : 'NODOMAIN';
$domain = isset($cookie['domain']) ? $cookie['domain'] : 'NODOMAIN';
if ($newDomain != $domain) {
continue;
}
$newPath = isset($newCookie['path']) ? $newCookie['path'] : 'NOPATH';
$path = isset($cookie['path']) ? $cookie['path'] : 'NOPATH';
if ($newPath != $path) {
continue;
}
$this->cookies[$i] = $newCookie;
$found = true;
$this->debug('Update cookie ' . $newName . '=' . $newCookie['value']);
break;
}
if (! $found) {
$this->debug('Add cookie ' . $newName . '=' . $newCookie['value']);
$this->cookies[] = $newCookie;
}
}
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

soap_client::UpdateCookies (   $cookies)

updates the current cookies with a new set

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

Definition at line 7200 of file nusoap.php.

References $cookies, and nusoap_base\debug().

{
if (sizeof($this->cookies) == 0) {
// no existing cookies: take whatever is new
if (sizeof($cookies) > 0) {
$this->debug('Setting new cookie(s)');
$this->cookies = $cookies;
}
return true;
}
if (sizeof($cookies) == 0) {
// no new cookies: keep what we've got
return true;
}
// merge
foreach ($cookies as $newCookie) {
if (!is_array($newCookie)) {
continue;
}
if ((!isset($newCookie['name'])) || (!isset($newCookie['value']))) {
continue;
}
$newName = $newCookie['name'];
$found = false;
for ($i = 0; $i < count($this->cookies); $i++) {
$cookie = $this->cookies[$i];
if (!is_array($cookie)) {
continue;
}
if (!isset($cookie['name'])) {
continue;
}
if ($newName != $cookie['name']) {
continue;
}
$newDomain = isset($newCookie['domain']) ? $newCookie['domain'] : 'NODOMAIN';
$domain = isset($cookie['domain']) ? $cookie['domain'] : 'NODOMAIN';
if ($newDomain != $domain) {
continue;
}
$newPath = isset($newCookie['path']) ? $newCookie['path'] : 'NOPATH';
$path = isset($cookie['path']) ? $cookie['path'] : 'NOPATH';
if ($newPath != $path) {
continue;
}
$this->cookies[$i] = $newCookie;
$found = true;
$this->debug('Update cookie ' . $newName . '=' . $newCookie['value']);
break;
}
if (! $found) {
$this->debug('Add cookie ' . $newName . '=' . $newCookie['value']);
$this->cookies[] = $newCookie;
}
}
return true;
}

+ Here is the call graph for this function:

soap_client::useHTTPPersistentConnection ( )

use HTTP persistent connections if possible

public

Definition at line 504 of file class.soapclient.php.

{
$this->persistentConnection = true;
}
soap_client::useHTTPPersistentConnection ( )

use HTTP persistent connections if possible

public

Definition at line 555 of file class.soap_client.php.

{
$this->persistentConnection = true;
}
soap_client::useHTTPPersistentConnection ( )

use HTTP persistent connections if possible

public

Definition at line 5449 of file nusoap.php.

{
$this->persistentConnection = true;
}
soap_client::useHTTPPersistentConnection ( )

use HTTP persistent connections if possible

public

Definition at line 6954 of file nusoap.php.

{
$this->persistentConnection = true;
}

Field Documentation

soap_client::$authtype = ''

Definition at line 4972 of file nusoap.php.

Referenced by getProxy(), and setCredentials().

soap_client::$certRequest = array()

Definition at line 30 of file class.soap_client.php.

Referenced by setCredentials().

soap_client::$cookies = array()

Definition at line 50 of file class.soap_client.php.

Referenced by checkCookies(), getCookies(), and UpdateCookies().

soap_client::$decode_utf8 = true

Definition at line 4993 of file nusoap.php.

soap_client::$defaultRpcParams = false

Definition at line 4988 of file nusoap.php.

Referenced by getDefaultRpcParams(), and getProxy().

soap_client::$document = ''

Definition at line 4975 of file nusoap.php.

soap_client::$endpoint

Definition at line 4976 of file nusoap.php.

Referenced by getProxy(), setEndpoint(), and soap_client().

soap_client::$endpointType = ''

Definition at line 4986 of file nusoap.php.

soap_client::$error_str = false

Definition at line 4977 of file nusoap.php.

soap_client::$fault

Definition at line 5004 of file nusoap.php.

soap_client::$faultcode

Definition at line 5004 of file nusoap.php.

soap_client::$faultdetail

Definition at line 5004 of file nusoap.php.

soap_client::$faultstring

Definition at line 5004 of file nusoap.php.

soap_client::$forceEndpoint = ''

Definition at line 35 of file class.soap_client.php.

Referenced by call(), and getProxy().

soap_client::$http_encoding = false

Definition at line 4983 of file nusoap.php.

Referenced by getProxy().

soap_client::$operations = array()

Definition at line 52 of file class.soap_client.php.

Referenced by getProxy().

soap_client::$password = ''

Definition at line 4971 of file nusoap.php.

Referenced by getProxy(), and setCredentials().

soap_client::$persistentConnection = false

Definition at line 4987 of file nusoap.php.

Referenced by getProxy(), and send().

soap_client::$proxyhost = ''

Definition at line 4978 of file nusoap.php.

Referenced by getProxy(), setHTTPProxy(), and soap_client().

soap_client::$proxypassword = ''

Definition at line 4981 of file nusoap.php.

Referenced by getProxy(), setHTTPProxy(), and soap_client().

soap_client::$proxyport = ''

Definition at line 4979 of file nusoap.php.

Referenced by getProxy(), setHTTPProxy(), and soap_client().

soap_client::$proxyusername = ''

Definition at line 4980 of file nusoap.php.

Referenced by getProxy(), setHTTPProxy(), and soap_client().

soap_client::$request = ''

Definition at line 4989 of file nusoap.php.

soap_client::$requestHeaders = false

Definition at line 4973 of file nusoap.php.

Referenced by getProxy().

soap_client::$response = ''

Definition at line 4990 of file nusoap.php.

soap_client::$response_timeout = 30

Definition at line 4985 of file nusoap.php.

Referenced by getProxy(), send(), and soap_client().

soap_client::$responseData = ''

Definition at line 4991 of file nusoap.php.

soap_client::$responseHeaders = ''

Definition at line 4974 of file nusoap.php.

Referenced by getHeaders().

soap_client::$timeout = 0

Definition at line 4984 of file nusoap.php.

Referenced by getProxy(), send(), and soap_client().

soap_client::$username = ''

Definition at line 4970 of file nusoap.php.

Referenced by getProxy(), and setCredentials().

soap_client::$xml_encoding = ''

Definition at line 4982 of file nusoap.php.


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