ILIAS  release_7 Revision v7.30-3-g800a261c036
nusoap_base Class Reference

nusoap_base More...

+ Inheritance diagram for nusoap_base:
+ Collaboration diagram for nusoap_base:

Public Member Functions

 debug ($string)
 adds debug data to the class level debug string More...
 
 expandEntities ($val)
 expands entities, e.g. More...
 
 getError ()
 returns error string if present More...
 
 setError ($str)
 sets error string More...
 
 isArraySimpleOrStruct ($val)
 detect if array is a simple array or a struct (associative array) More...
 
 serialize_val ($val, $name=false, $type=false, $name_ns=false, $type_ns=false, $attributes=false, $use='encoded')
 
 serializeEnvelope ($body, $headers=false, $namespaces=array(), $style='rpc', $use='encoded')
 serialize message More...
 
 formatDump ($str)
 
 contractQname ($qname)
 contracts a qualified name More...
 
 expandQname ($qname)
 expands a qualified name More...
 
 getLocalPart ($str)
 returns the local part of a prefixed string returns the original string, if not prefixed More...
 
 getPrefix ($str)
 returns the prefix part of a prefixed string returns false, if not prefixed More...
 
 getNamespaceFromPrefix ($prefix)
 pass it a prefix, it returns a namespace returns false if no namespace registered with the given prefix More...
 
 getPrefixFromNamespace ($ns)
 returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given namespace More...
 
 varDump ($data)
 
 __construct ()
 constructor More...
 
 getGlobalDebugLevel ()
 gets the global debug level, which applies to future instances More...
 
 setGlobalDebugLevel ($level)
 sets the global debug level, which applies to future instances More...
 
 getDebugLevel ()
 gets the debug level for this instance More...
 
 setDebugLevel ($level)
 sets the debug level for this instance More...
 
 debug ($string)
 adds debug data to the instance debug string with formatting More...
 
 appendDebug ($string)
 adds debug data to the instance debug string without formatting More...
 
 clearDebug ()
 clears the current debug data for this instance More...
 
& getDebug ()
 gets the current debug data for this instance More...
 
& getDebugAsXMLComment ()
 gets the current debug data for this instance as an XML comment this may change the contents of the debug data More...
 
 expandEntities ($val)
 expands entities, e.g. More...
 
 getError ()
 returns error string if present More...
 
 setError ($str)
 sets error string More...
 
 isArraySimpleOrStruct ($val)
 detect if array is a simple array or a struct (associative array) More...
 
 serialize_val ($val, $name=false, $type=false, $name_ns=false, $type_ns=false, $attributes=false, $use='encoded', $soapval=false)
 
 serializeEnvelope ($body, $headers=false, $namespaces=array(), $style='rpc', $use='encoded', $encodingStyle='http://schemas.xmlsoap.org/soap/encoding/')
 serializes a message More...
 
 formatDump ($str)
 formats a string to be inserted into an HTML stream More...
 
 contractQname ($qname)
 contracts (changes namespace to prefix) a qualified name More...
 
 expandQname ($qname)
 expands (changes prefix to namespace) a qualified name More...
 
 getLocalPart ($str)
 returns the local part of a prefixed string returns the original string, if not prefixed More...
 
 getPrefix ($str)
 returns the prefix part of a prefixed string returns false, if not prefixed More...
 
 getNamespaceFromPrefix ($prefix)
 pass it a prefix, it returns a namespace More...
 
 getPrefixFromNamespace ($ns)
 returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given namespace More...
 
 getmicrotime ()
 returns the time in ODBC canonical form with microseconds More...
 
 varDump ($data)
 Returns a string with the output of var_dump. More...
 
 __toString ()
 represents the object as a string More...
 

Data Fields

 $title = 'NuSOAP'
 
 $version = '0.6.7'
 
 $revision = '$Revision$'
 
 $error_str = false
 Current error string (manipulated by getError/setError) More...
 
 $debug_str = ''
 Current debug string (manipulated by debug/appendDebug/clearDebug/getDebug/getDebugAsXMLComment) More...
 
 $charencoding = true
 
 $XMLSchemaVersion = 'http://www.w3.org/2001/XMLSchema'
 
 $soap_defencoding = 'UTF-8'
 
 $namespaces
 
 $usedNamespaces = array()
 
 $typemap
 
 $xmlEntities
 
 $debugLevel
 

Detailed Description

nusoap_base

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

Definition at line 61 of file nusoap.php.

Constructor & Destructor Documentation

◆ __construct()

nusoap_base::__construct ( )

constructor

@access public

Definition at line 236 of file nusoap.php.

236 {
237 $this->debugLevel = $GLOBALS['_transient']['static']['nusoap_base']->globalDebugLevel;
238 }
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64

References $GLOBALS.

Member Function Documentation

◆ __toString()

nusoap_base::__toString ( )

represents the object as a string

Returns
string @access public

Definition at line 898 of file nusoap.php.

898 {
899 return $this->varDump($this);
900 }
varDump($data)
Definition: nusoap.php:567

References varDump().

+ Here is the call graph for this function:

◆ appendDebug()

◆ clearDebug()

nusoap_base::clearDebug ( )

clears the current debug data for this instance

@access public

Definition at line 311 of file nusoap.php.

311 {
312 // it would be nice to use a memory stream here to use
313 // memory more efficiently
314 $this->debug_str = '';
315 }

Referenced by nusoap_server\__construct(), nusoap_client\call(), nusoap_client\checkWSDL(), and nusoap_server\serialize_return().

+ Here is the caller graph for this function:

◆ contractQname() [1/2]

nusoap_base::contractQname (   $qname)

contracts a qualified name

Parameters
string$stringqname
Returns
string contracted qname @access private

Definition at line 458 of file nusoap.php.

458 {
459 // get element namespace
460 //$this->xdebug("Contract $qname");
461 if (strrpos($qname, ':')) {
462 // get unqualified name
463 $name = substr($qname, strrpos($qname, ':') + 1);
464 // get ns
465 $ns = substr($qname, 0, strrpos($qname, ':'));
466 $p = $this->getPrefixFromNamespace($ns);
467 if ($p) {
468 return $p . ':' . $name;
469 }
470 return $qname;
471 } else {
472 return $qname;
473 }
474 }
getPrefixFromNamespace($ns)
returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given...
Definition: nusoap.php:557
if($format !==null) $name
Definition: metadata.php:230

References $name, and getPrefixFromNamespace().

+ Here is the call graph for this function:

◆ contractQname() [2/2]

nusoap_base::contractQname (   $qname)

contracts (changes namespace to prefix) a qualified name

Parameters
string$qnameqname
Returns
string contracted qname @access private

Definition at line 751 of file nusoap.php.

751 {
752 // get element namespace
753 //$this->xdebug("Contract $qname");
754 if (strrpos($qname, ':')) {
755 // get unqualified name
756 $name = substr($qname, strrpos($qname, ':') + 1);
757 // get ns
758 $ns = substr($qname, 0, strrpos($qname, ':'));
759 $p = $this->getPrefixFromNamespace($ns);
760 if ($p) {
761 return $p . ':' . $name;
762 }
763 return $qname;
764 } else {
765 return $qname;
766 }
767 }

References $name, and getPrefixFromNamespace().

+ Here is the call graph for this function:

◆ debug() [1/2]

nusoap_base::debug (   $string)

adds debug data to the class level debug string

Parameters
string$stringdebug data @access private

Definition at line 144 of file nusoap.php.

144 {
145 $this->debug_str .= get_class($this).": $string\n";
146 }

Referenced by nusoap_client\__construct(), nusoap_xmlschema\__construct(), soap_transport_http\__construct(), wsdl\__construct(), nusoap_server\__construct(), nusoap_parser\__construct(), nusoap_client\_getProxyClassCode(), soap_transport_http\buildPayload(), soap_parser\buildVal(), nusoap_parser\buildVal(), soap_client\call(), nusoap_client\call(), nusoap_client\checkCookies(), nusoap_client\checkWSDL(), soap_transport_http\connect(), soap_transport_http\decodeChunked(), nusoap_parser\decodeSimple(), wsdl\end_element(), wsdl\fetchWSDL(), soap_transport_http\getCookiesForRequest(), soap_client\getOperationData(), nusoap_client\getOperationData(), nusoap_client\getProxy(), soap_transport_http\getResponse(), wsdl\getTypeDef(), soap_server\invoke_method(), nusoap_server\invoke_method(), nusoap_client\loadWSDL(), wsdl\parametersMatchWrapped(), soap_server\parse_http_headers(), nusoap_server\parse_http_headers(), soap_server\parse_request(), nusoap_server\parse_request(), XMLSchema\parseFile(), nusoap_xmlschema\parseFile(), nusoap_server\parseRequest(), soap_client\parseResponse(), nusoap_client\parseResponse(), XMLSchema\parseString(), nusoap_xmlschema\parseString(), wsdl\parseWSDL(), soap_transport_http\send(), soap_client\send(), nusoap_client\send(), soap_server\send_response(), nusoap_server\send_response(), soap_transport_http\sendRequest(), soap_server\serialize_return(), nusoap_server\serialize_return(), serialize_val(), wsdl\serializeComplexTypeAttributes(), wsdl\serializeComplexTypeElements(), serializeEnvelope(), wsdl\serializeParameters(), wsdl\serializeRPCParameters(), wsdl\serializeType(), nusoap_server\service(), wsdl\setCredentials(), nusoap_client\setCredentials(), soap_transport_http\setCredentials(), soap_transport_http\setCurlOption(), nusoap_client\setCurlOption(), nusoap_client\setEndpoint(), soap_transport_http\setHeader(), nusoap_client\setHeaders(), nusoap_client\setHTTPEncoding(), soap_transport_http\setProxy(), soap_transport_http\setURL(), nusoap_client\setUseCURL(), soap_client\soap_client(), soap_parser\soap_parser(), soap_server\soap_server(), soap_transport_http\soap_transport_http(), wsdl\start_element(), soap_parser\start_element(), nusoap_parser\start_element(), soap_transport_http\unsetHeader(), nusoap_client\UpdateCookies(), nusoap_client\useHTTPPersistentConnection(), wsdl\wsdl(), XMLSchema\xdebug(), nusoap_xmlschema\xdebug(), and XMLSchema\XMLSchema().

+ Here is the caller graph for this function:

◆ debug() [2/2]

nusoap_base::debug (   $string)

adds debug data to the instance debug string with formatting

Parameters
string$stringdebug data @access private

Definition at line 286 of file nusoap.php.

286 {
287 if ($this->debugLevel > 0) {
288 $this->appendDebug($this->getmicrotime().' '.get_class($this).": $string\n");
289 }
290 }
getmicrotime()
returns the time in ODBC canonical form with microseconds
Definition: nusoap.php:865
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:298

References appendDebug(), and getmicrotime().

+ Here is the call graph for this function:

◆ expandEntities() [1/2]

nusoap_base::expandEntities (   $val)

expands entities, e.g.

changes '<' to '<'.

Parameters
string$valThe string in which to expand entities. @access private

Definition at line 154 of file nusoap.php.

154 {
155 if ($this->charencoding) {
156 $val = str_replace('&', '&amp;', $val);
157 $val = str_replace("'", '&apos;', $val);
158 $val = str_replace('"', '&quot;', $val);
159 $val = str_replace('<', '&lt;', $val);
160 $val = str_replace('>', '&gt;', $val);
161 }
162 return $val;
163 }

Referenced by serialize_val(), wsdl\serializeComplexTypeAttributes(), and wsdl\serializeType().

+ Here is the caller graph for this function:

◆ expandEntities() [2/2]

nusoap_base::expandEntities (   $val)

expands entities, e.g.

changes '<' to '<'.

Parameters
string$valThe string in which to expand entities. @access private

Definition at line 352 of file nusoap.php.

352 {
353 if ($this->charencoding) {
354 $val = str_replace('&', '&amp;', $val);
355 $val = str_replace("'", '&apos;', $val);
356 $val = str_replace('"', '&quot;', $val);
357 $val = str_replace('<', '&lt;', $val);
358 $val = str_replace('>', '&gt;', $val);
359 }
360 return $val;
361 }

◆ expandQname() [1/2]

nusoap_base::expandQname (   $qname)

expands a qualified name

Parameters
string$stringqname
Returns
string expanded qname @access private

Definition at line 483 of file nusoap.php.

483 {
484 // get element prefix
485 if(strpos($qname,':') && !ereg('^http://',$qname)){
486 // get unqualified name
487 $name = substr(strstr($qname,':'),1);
488 // get ns prefix
489 $prefix = substr($qname,0,strpos($qname,':'));
490 if(isset($this->namespaces[$prefix])){
491 return $this->namespaces[$prefix].':'.$name;
492 } else {
493 return $qname;
494 }
495 } else {
496 return $qname;
497 }
498 }

References $name.

Referenced by wsdl\addComplexType(), wsdl\addSimpleType(), XMLSchema\schemaStartElement(), nusoap_xmlschema\schemaStartElement(), and wsdl\start_element().

+ Here is the caller graph for this function:

◆ expandQname() [2/2]

nusoap_base::expandQname (   $qname)

expands (changes prefix to namespace) a qualified name

Parameters
string$qnameqname
Returns
string expanded qname @access private

Definition at line 776 of file nusoap.php.

776 {
777 // get element prefix
778 if(strpos($qname,':') && !preg_match('/^http:\/\//',$qname)){
779 // get unqualified name
780 $name = substr(strstr($qname,':'),1);
781 // get ns prefix
782 $prefix = substr($qname,0,strpos($qname,':'));
783 if(isset($this->namespaces[$prefix])){
784 return $this->namespaces[$prefix].':'.$name;
785 } else {
786 return $qname;
787 }
788 } else {
789 return $qname;
790 }
791 }

References $name.

◆ formatDump() [1/2]

nusoap_base::formatDump (   $str)

Definition at line 446 of file nusoap.php.

446 {
447 $str = htmlspecialchars($str);
448 return nl2br($str);
449 }

◆ formatDump() [2/2]

nusoap_base::formatDump (   $str)

formats a string to be inserted into an HTML stream

Parameters
string$strThe string to format
Returns
string The formatted string @access public
Deprecated:

Definition at line 739 of file nusoap.php.

739 {
740 $str = htmlspecialchars($str);
741 return nl2br($str);
742 }

◆ getDebug()

& nusoap_base::getDebug ( )

gets the current debug data for this instance

Returns
debug data @access public

Definition at line 323 of file nusoap.php.

323 {
324 // it would be nice to use a memory stream here to use
325 // memory more efficiently
326 return $this->debug_str;
327 }
$debug_str
Current debug string (manipulated by debug/appendDebug/clearDebug/getDebug/getDebugAsXMLComment)
Definition: nusoap.php:67

References $debug_str.

Referenced by nusoap_server\__construct(), nusoap_client\call(), nusoap_client\checkWSDL(), nusoap_server\fault(), and nusoap_server\serialize_return().

+ Here is the caller graph for this function:

◆ getDebugAsXMLComment()

& nusoap_base::getDebugAsXMLComment ( )

gets the current debug data for this instance as an XML comment this may change the contents of the debug data

Returns
debug data as an XML comment @access public

Definition at line 336 of file nusoap.php.

336 {
337 // it would be nice to use a memory stream here to use
338 // memory more efficiently
339 while (strpos($this->debug_str, '--')) {
340 $this->debug_str = str_replace('--', '- -', $this->debug_str);
341 }
342 $ret = "<!--\n" . $this->debug_str . "\n-->";
343 return $ret;
344 }
$ret
Definition: parser.php:6

References $ret.

Referenced by nusoap_server\send_response(), and nusoap_server\service().

+ Here is the caller graph for this function:

◆ getDebugLevel()

nusoap_base::getDebugLevel ( )

gets the debug level for this instance

Returns
int Debug level 0-9, where 0 turns off @access public

Definition at line 266 of file nusoap.php.

266 {
267 return $this->debugLevel;
268 }

References $debugLevel.

◆ getError() [1/2]

nusoap_base::getError ( )

returns error string if present

Returns
boolean $string error string @access public

Definition at line 171 of file nusoap.php.

171 {
172 if($this->error_str != ''){
173 return $this->error_str;
174 }
175 return false;
176 }
$error_str
Current error string (manipulated by getError/setError)
Definition: nusoap.php:66

References $error_str.

Referenced by nusoap_server\__construct(), nusoap_client\_getProxyClassCode(), soap_client\call(), nusoap_client\call(), nusoap_client\checkWSDL(), nusoap_client\getOperationData(), nusoap_client\getProxy(), wsdl\parseWSDL(), soap_client\send(), nusoap_client\send(), soap_server\serialize_return(), nusoap_server\serialize_return(), soap_client\soap_client(), and soap_server\soap_server().

+ Here is the caller graph for this function:

◆ getError() [2/2]

nusoap_base::getError ( )

returns error string if present

Returns
mixed error string or false @access public

Definition at line 369 of file nusoap.php.

369 {
370 if($this->error_str != ''){
371 return $this->error_str;
372 }
373 return false;
374 }

References $error_str.

◆ getGlobalDebugLevel()

nusoap_base::getGlobalDebugLevel ( )

gets the global debug level, which applies to future instances

Returns
integer Debug level 0-9, where 0 turns off @access public

Definition at line 246 of file nusoap.php.

246 {
247 return $GLOBALS['_transient']['static']['nusoap_base']->globalDebugLevel;
248 }

References $GLOBALS.

◆ getLocalPart() [1/2]

nusoap_base::getLocalPart (   $str)

returns the local part of a prefixed string returns the original string, if not prefixed

Parameters
string
Returns
string @access public

Definition at line 508 of file nusoap.php.

508 {
509 if($sstr = strrchr($str,':')){
510 // get unqualified name
511 return substr( $sstr, 1 );
512 } else {
513 return $str;
514 }
515 }

Referenced by wsdl\addOperation(), nusoap_xmlschema\schemaEndElement(), XMLSchema\schemaStartElement(), nusoap_xmlschema\schemaStartElement(), wsdl\serialize(), wsdl\serializeComplexTypeAttributes(), wsdl\serializeComplexTypeElements(), wsdl\serializeType(), wsdl\start_element(), soap_parser\start_element(), and nusoap_parser\start_element().

+ Here is the caller graph for this function:

◆ getLocalPart() [2/2]

nusoap_base::getLocalPart (   $str)

returns the local part of a prefixed string returns the original string, if not prefixed

Parameters
string$strThe prefixed string
Returns
string The local part @access public

Definition at line 801 of file nusoap.php.

801 {
802 if($sstr = strrchr($str,':')){
803 // get unqualified name
804 return substr( $sstr, 1 );
805 } else {
806 return $str;
807 }
808 }

◆ getmicrotime()

nusoap_base::getmicrotime ( )

returns the time in ODBC canonical form with microseconds

Returns
string The time in ODBC canonical form with microseconds @access public

Definition at line 865 of file nusoap.php.

865 {
866 if (function_exists('gettimeofday')) {
867 $tod = gettimeofday();
868 $sec = $tod['sec'];
869 $usec = $tod['usec'];
870 } else {
871 $sec = time();
872 $usec = 0;
873 }
874 return strftime('%Y-%m-%d %H:%M:%S', $sec) . '.' . sprintf('%06d', $usec);
875 }

Referenced by debug().

+ Here is the caller graph for this function:

◆ getNamespaceFromPrefix() [1/2]

nusoap_base::getNamespaceFromPrefix (   $prefix)

pass it a prefix, it returns a namespace returns false if no namespace registered with the given prefix

Parameters
string
Returns
mixed @access public

Definition at line 541 of file nusoap.php.

541 {
542 if (isset($this->namespaces[$prefix])) {
543 return $this->namespaces[$prefix];
544 }
545 //$this->setError("No namespace registered for prefix '$prefix'");
546 return false;
547 }

Referenced by wsdl\addOperation(), wsdl\parametersMatchWrapped(), XMLSchema\schemaStartElement(), nusoap_xmlschema\schemaStartElement(), wsdl\serialize(), wsdl\serializeComplexTypeAttributes(), wsdl\serializeComplexTypeElements(), and wsdl\serializeType().

+ Here is the caller graph for this function:

◆ getNamespaceFromPrefix() [2/2]

nusoap_base::getNamespaceFromPrefix (   $prefix)

pass it a prefix, it returns a namespace

Parameters
string$prefixThe prefix
Returns
mixed The namespace, false if no namespace has the specified prefix @access public

Definition at line 833 of file nusoap.php.

833 {
834 if (isset($this->namespaces[$prefix])) {
835 return $this->namespaces[$prefix];
836 }
837 //$this->setError("No namespace registered for prefix '$prefix'");
838 return false;
839 }

◆ getPrefix() [1/2]

nusoap_base::getPrefix (   $str)

returns the prefix part of a prefixed string returns false, if not prefixed

Parameters
string
Returns
mixed @access public

Definition at line 525 of file nusoap.php.

525 {
526 if($pos = strrpos($str,':')){
527 // get prefix
528 return substr($str,0,$pos);
529 }
530 return false;
531 }

Referenced by nusoap_xmlschema\addElement(), wsdl\addOperation(), nusoap_xmlschema\schemaEndElement(), XMLSchema\schemaStartElement(), nusoap_xmlschema\schemaStartElement(), wsdl\serialize(), wsdl\serializeComplexTypeAttributes(), wsdl\serializeComplexTypeElements(), wsdl\serializeType(), soap_parser\start_element(), and nusoap_parser\start_element().

+ Here is the caller graph for this function:

◆ getPrefix() [2/2]

nusoap_base::getPrefix (   $str)

returns the prefix part of a prefixed string returns false, if not prefixed

Parameters
string$strThe prefixed string
Returns
mixed The prefix or false if there is no prefix @access public

Definition at line 818 of file nusoap.php.

818 {
819 if($pos = strrpos($str,':')){
820 // get prefix
821 return substr($str,0,$pos);
822 }
823 return false;
824 }

◆ getPrefixFromNamespace() [1/2]

nusoap_base::getPrefixFromNamespace (   $ns)

returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given namespace

Parameters
string
Returns
mixed @access public

Definition at line 557 of file nusoap.php.

557 {
558 foreach ($this->namespaces as $p => $n) {
559 if ($ns == $n || $ns == $p) {
560 $this->usedNamespaces[$p] = $n;
561 return $p;
562 }
563 }
564 return false;
565 }
$n
Definition: RandomTest.php:85

References $n.

Referenced by soap_client\call(), nusoap_client\call(), contractQname(), XMLSchema\schemaStartElement(), nusoap_xmlschema\schemaStartElement(), wsdl\serialize(), XMLSchema\serializeSchema(), nusoap_xmlschema\serializeSchema(), wsdl\serializeType(), and wsdl\start_element().

+ Here is the caller graph for this function:

◆ getPrefixFromNamespace() [2/2]

nusoap_base::getPrefixFromNamespace (   $ns)

returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given namespace

Parameters
string$nsThe namespace
Returns
mixed The prefix, false if the namespace has no prefixes @access public

Definition at line 849 of file nusoap.php.

849 {
850 foreach ($this->namespaces as $p => $n) {
851 if ($ns == $n || $ns == $p) {
852 $this->usedNamespaces[$p] = $n;
853 return $p;
854 }
855 }
856 return false;
857 }

References $n.

◆ isArraySimpleOrStruct() [1/2]

nusoap_base::isArraySimpleOrStruct (   $val)

detect if array is a simple array or a struct (associative array)

Parameters
$valThe PHP array
Returns
string (arraySimple|arrayStruct) @access private

Definition at line 195 of file nusoap.php.

195 {
196 $keyList = array_keys($val);
197 foreach ($keyList as $keyListValue) {
198 if (!is_int($keyListValue)) {
199 return 'arrayStruct';
200 }
201 }
202 return 'arraySimple';
203 }

Referenced by wsdl\parametersMatchWrapped(), serialize_val(), wsdl\serializeComplexTypeElements(), wsdl\serializeParameters(), wsdl\serializeRPCParameters(), and wsdl\serializeType().

+ Here is the caller graph for this function:

◆ isArraySimpleOrStruct() [2/2]

nusoap_base::isArraySimpleOrStruct (   $val)

detect if array is a simple array or a struct (associative array)

Parameters
mixed$valThe PHP array
Returns
string (arraySimple|arrayStruct) @access private

Definition at line 393 of file nusoap.php.

393 {
394 $keyList = array_keys($val);
395 foreach ($keyList as $keyListValue) {
396 if (!is_int($keyListValue)) {
397 return 'arrayStruct';
398 }
399 }
400 return 'arraySimple';
401 }

◆ serialize_val() [1/2]

nusoap_base::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. Type information is
not serialized if $use == 'literal'.

@return     string

@access public

Definition at line 212 of file nusoap.php.

212 {
213 if(is_object($val) && get_class($val) == 'soapval'){
214 return $val->serialize($use);
215 }
216 $this->debug( "in serialize_val: $val, $name, $type, $name_ns, $type_ns, $attributes, $use");
217 // if no name, use item
218 $name = (!$name|| is_numeric($name)) ? 'soapVal' : $name;
219 // if name has ns, add ns prefix to name
220 $xmlns = '';
221 if($name_ns){
222 $prefix = 'nu'.rand(1000,9999);
223 $name = $prefix.':'.$name;
224 $xmlns .= " xmlns:$prefix=\"$name_ns\"";
225 }
226 // if type is prefixed, create type prefix
227 if($type_ns != '' && $type_ns == $this->namespaces['xsd']){
228 // need to fix this. shouldn't default to xsd if no ns specified
229 // w/o checking against typemap
230 $type_prefix = 'xsd';
231 } elseif($type_ns){
232 $type_prefix = 'ns'.rand(1000,9999);
233 $xmlns .= " xmlns:$type_prefix=\"$type_ns\"";
234 }
235 // serialize attributes if present
236 $atts = '';
237 if($attributes){
238 foreach($attributes as $k => $v){
239 $atts .= " $k=\"$v\"";
240 }
241 }
242 // serialize if an xsd built-in primitive type
243 if($type != '' && isset($this->typemap[$this->XMLSchemaVersion][$type])){
244 if (is_bool($val)) {
245 if ($type == 'boolean') {
246 $val = $val ? 'true' : 'false';
247 } elseif (! $val) {
248 $val = 0;
249 }
250 } else if (is_string($val)) {
251 $val = $this->expandEntities($val);
252 }
253 if ($use == 'literal') {
254 return "<$name$xmlns>$val</$name>";
255 } else {
256 return "<$name$xmlns xsi:type=\"xsd:$type\">$val</$name>";
257 }
258 }
259 // detect type and serialize
260 $xml = '';
261 switch(true) {
262 case ($type == '' && is_null($val)):
263 if ($use == 'literal') {
264 // TODO: depends on nillable
265 $xml .= "<$name$xmlns/>";
266 } else {
267 $xml .= "<$name$xmlns xsi:nil=\"true\"/>";
268 }
269 break;
270 case (is_bool($val) || $type == 'boolean'):
271 if ($type == 'boolean') {
272 $val = $val ? 'true' : 'false';
273 } elseif (! $val) {
274 $val = 0;
275 }
276 if ($use == 'literal') {
277 $xml .= "<$name$xmlns $atts>$val</$name>";
278 } else {
279 $xml .= "<$name$xmlns xsi:type=\"xsd:boolean\"$atts>$val</$name>";
280 }
281 break;
282 case (is_int($val) || is_long($val) || $type == 'int'):
283 if ($use == 'literal') {
284 $xml .= "<$name$xmlns $atts>$val</$name>";
285 } else {
286 $xml .= "<$name$xmlns xsi:type=\"xsd:int\"$atts>$val</$name>";
287 }
288 break;
289 case (is_float($val)|| is_double($val) || $type == 'float'):
290 if ($use == 'literal') {
291 $xml .= "<$name$xmlns $atts>$val</$name>";
292 } else {
293 $xml .= "<$name$xmlns xsi:type=\"xsd:float\"$atts>$val</$name>";
294 }
295 break;
296 case (is_string($val) || $type == 'string'):
297 $val = $this->expandEntities($val);
298 if ($use == 'literal') {
299 $xml .= "<$name$xmlns $atts>$val</$name>";
300 } else {
301 $xml .= "<$name$xmlns xsi:type=\"xsd:string\"$atts>$val</$name>";
302 }
303 break;
304 case is_object($val):
305 $name = get_class($val);
306 foreach(get_object_vars($val) as $k => $v){
307 $pXml = isset($pXml) ? $pXml.$this->serialize_val($v,$k,false,false,false,false,$use) : $this->serialize_val($v,$k,false,false,false,false,$use);
308 }
309 $xml .= '<'.$name.'>'.$pXml.'</'.$name.'>';
310 break;
311 break;
312 case (is_array($val) || $type):
313 // detect if struct or array
314 $valueType = $this->isArraySimpleOrStruct($val);
315 if($valueType=='arraySimple' || ereg('^ArrayOf',$type)){
316 $i = 0;
317 if(is_array($val) && count($val)> 0){
318 foreach($val as $v){
319 if(is_object($v) && get_class($v) == 'soapval'){
320 $tt_ns = $v->type_ns;
321 $tt = $v->type;
322 } elseif (is_array($v)) {
323 $tt = $this->isArraySimpleOrStruct($v);
324 } else {
325 $tt = gettype($v);
326 }
327 $array_types[$tt] = 1;
328 $xml .= $this->serialize_val($v,'item',false,false,false,false,$use);
329 ++$i;
330 }
331 if(count($array_types) > 1){
332 $array_typename = 'xsd:ur-type';
333 } elseif(isset($tt) && isset($this->typemap[$this->XMLSchemaVersion][$tt])) {
334 if ($tt == 'integer') {
335 $tt = 'int';
336 }
337 $array_typename = 'xsd:'.$tt;
338 } elseif(isset($tt) && $tt == 'arraySimple'){
339 $array_typename = 'SOAP-ENC:Array';
340 } elseif(isset($tt) && $tt == 'arrayStruct'){
341 $array_typename = 'unnamed_struct_use_soapval';
342 } else {
343 // if type is prefixed, create type prefix
344 if ($tt_ns != '' && $tt_ns == $this->namespaces['xsd']){
345 $array_typename = 'xsd:' . $tt;
346 } elseif ($tt_ns) {
347 $tt_prefix = 'ns' . rand(1000, 9999);
348 $array_typename = "$tt_prefix:$tt";
349 $xmlns .= " xmlns:$tt_prefix=\"$tt_ns\"";
350 } else {
351 $array_typename = $tt;
352 }
353 }
354 $array_type = $i;
355 if ($use == 'literal') {
356 $type_str = '';
357 } else if (isset($type) && isset($type_prefix)) {
358 $type_str = " xsi:type=\"$type_prefix:$type\"";
359 } else {
360 $type_str = " xsi:type=\"SOAP-ENC:Array\" SOAP-ENC:arrayType=\"".$array_typename."[$array_type]\"";
361 }
362 // empty array
363 } else {
364 if ($use == 'literal') {
365 $type_str = '';
366 } else if (isset($type) && isset($type_prefix)) {
367 $type_str = " xsi:type=\"$type_prefix:$type\"";
368 } else {
369 $type_str = " xsi:type=\"SOAP-ENC:Array\"";
370 }
371 }
372 $xml = "<$name$xmlns$type_str$atts>".$xml."</$name>";
373 } else {
374 // got a struct
375 if(isset($type) && isset($type_prefix)){
376 $type_str = " xsi:type=\"$type_prefix:$type\"";
377 } else {
378 $type_str = '';
379 }
380 if ($use == 'literal') {
381 $xml .= "<$name$xmlns $atts>";
382 } else {
383 $xml .= "<$name$xmlns$type_str$atts>";
384 }
385 foreach($val as $k => $v){
386 // Apache Map
387 if ($type == 'Map' && $type_ns == 'http://xml.apache.org/xml-soap') {
388 $xml .= '<item>';
389 $xml .= $this->serialize_val($k,'key',false,false,false,false,$use);
390 $xml .= $this->serialize_val($v,'value',false,false,false,false,$use);
391 $xml .= '</item>';
392 } else {
393 $xml .= $this->serialize_val($v,$k,false,false,false,false,$use);
394 }
395 }
396 $xml .= "</$name>";
397 }
398 break;
399 default:
400 $xml .= 'not detected, got '.gettype($val).' for '.$val;
401 break;
402 }
403 return $xml;
404 }
debug($string)
adds debug data to the class level debug string
Definition: nusoap.php:144
serialize_val($val, $name=false, $type=false, $name_ns=false, $type_ns=false, $attributes=false, $use='encoded')
Definition: nusoap.php:212
expandEntities($val)
expands entities, e.g.
Definition: nusoap.php:154
isArraySimpleOrStruct($val)
detect if array is a simple array or a struct (associative array)
Definition: nusoap.php:195
$i
Definition: metadata.php:24
$attributes
Definition: metadata.php:231
$xml
Definition: metadata.php:332
$type

References $attributes, $i, $name, $type, $xml, debug(), expandEntities(), isArraySimpleOrStruct(), and serialize_val().

Referenced by soap_client\call(), nusoap_client\call(), soapval\serialize(), nusoap_fault\serialize(), soap_server\serialize_return(), nusoap_server\serialize_return(), serialize_val(), wsdl\serializeComplexTypeElements(), serializeEnvelope(), and wsdl\serializeType().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ serialize_val() [2/2]

nusoap_base::serialize_val (   $val,
  $name = false,
  $type = false,
  $name_ns = false,
  $type_ns = false,
  $attributes = false,
  $use = 'encoded',
  $soapval = false 
)
serializes PHP values in accordance w/ section 5. Type information is
not serialized if $use == 'literal'.

@param      mixed   $val    The value to serialize
@param      string  $name   The name (local part) of the XML element
@param      string  $type   The XML schema type (local part) for the element
@param      string  $name_ns        The namespace for the name of the XML element
@param      string  $type_ns        The namespace for the type of the element
@param      array   $attributes     The attributes to serialize as name=>value pairs
@param      string  $use    The WSDL "use" (encoded|literal)
@param      boolean $soapval        Whether this is called from soapval.
@return     string  The serialized element, possibly with child elements

@access public

Definition at line 418 of file nusoap.php.

418 {
419 $this->debug("in serialize_val: name=$name, type=$type, name_ns=$name_ns, type_ns=$type_ns, use=$use, soapval=$soapval");
420 $this->appendDebug('value=' . $this->varDump($val));
421 $this->appendDebug('attributes=' . $this->varDump($attributes));
422
423 if (is_object($val) && get_class($val) == 'soapval' && (! $soapval)) {
424 $this->debug("serialize_val: serialize soapval");
425 $xml = $val->serialize($use);
426 $this->appendDebug($val->getDebug());
427 $val->clearDebug();
428 $this->debug("serialize_val of soapval returning $xml");
429 return $xml;
430 }
431 // force valid name if necessary
432 if (is_numeric($name)) {
433 $name = '__numeric_' . $name;
434 } elseif (! $name) {
435 $name = 'noname';
436 }
437 // if name has ns, add ns prefix to name
438 $xmlns = '';
439 if($name_ns){
440 $prefix = 'nu'.rand(1000,9999);
441 $name = $prefix.':'.$name;
442 $xmlns .= " xmlns:$prefix=\"$name_ns\"";
443 }
444 // if type is prefixed, create type prefix
445 if($type_ns != '' && $type_ns == $this->namespaces['xsd']){
446 // need to fix this. shouldn't default to xsd if no ns specified
447 // w/o checking against typemap
448 $type_prefix = 'xsd';
449 } elseif($type_ns){
450 $type_prefix = 'ns'.rand(1000,9999);
451 $xmlns .= " xmlns:$type_prefix=\"$type_ns\"";
452 }
453 // serialize attributes if present
454 $atts = '';
455 if($attributes){
456 foreach($attributes as $k => $v){
457 $atts .= " $k=\"".$this->expandEntities($v).'"';
458 }
459 }
460 // serialize null value
461 if (is_null($val)) {
462 $this->debug("serialize_val: serialize null");
463 if ($use == 'literal') {
464 // TODO: depends on minOccurs
465 $xml = "<$name$xmlns$atts/>";
466 $this->debug("serialize_val returning $xml");
467 return $xml;
468 } else {
469 if (isset($type) && isset($type_prefix)) {
470 $type_str = " xsi:type=\"$type_prefix:$type\"";
471 } else {
472 $type_str = '';
473 }
474 $xml = "<$name$xmlns$type_str$atts xsi:nil=\"true\"/>";
475 $this->debug("serialize_val returning $xml");
476 return $xml;
477 }
478 }
479 // serialize if an xsd built-in primitive type
480 if($type != '' && isset($this->typemap[$this->XMLSchemaVersion][$type])){
481 $this->debug("serialize_val: serialize xsd built-in primitive type");
482 if (is_bool($val)) {
483 if ($type == 'boolean') {
484 $val = $val ? 'true' : 'false';
485 } elseif (! $val) {
486 $val = 0;
487 }
488 } else if (is_string($val)) {
489 $val = $this->expandEntities($val);
490 }
491 if ($use == 'literal') {
492 $xml = "<$name$xmlns$atts>$val</$name>";
493 $this->debug("serialize_val returning $xml");
494 return $xml;
495 } else {
496 $xml = "<$name$xmlns xsi:type=\"xsd:$type\"$atts>$val</$name>";
497 $this->debug("serialize_val returning $xml");
498 return $xml;
499 }
500 }
501 // detect type and serialize
502 $xml = '';
503 switch(true) {
504 case (is_bool($val) || $type == 'boolean'):
505 $this->debug("serialize_val: serialize boolean");
506 if ($type == 'boolean') {
507 $val = $val ? 'true' : 'false';
508 } elseif (! $val) {
509 $val = 0;
510 }
511 if ($use == 'literal') {
512 $xml .= "<$name$xmlns$atts>$val</$name>";
513 } else {
514 $xml .= "<$name$xmlns xsi:type=\"xsd:boolean\"$atts>$val</$name>";
515 }
516 break;
517 case (is_int($val) || is_long($val) || $type == 'int'):
518 $this->debug("serialize_val: serialize int");
519 if ($use == 'literal') {
520 $xml .= "<$name$xmlns$atts>$val</$name>";
521 } else {
522 $xml .= "<$name$xmlns xsi:type=\"xsd:int\"$atts>$val</$name>";
523 }
524 break;
525 case (is_float($val)|| is_double($val) || $type == 'float'):
526 $this->debug("serialize_val: serialize float");
527 if ($use == 'literal') {
528 $xml .= "<$name$xmlns$atts>$val</$name>";
529 } else {
530 $xml .= "<$name$xmlns xsi:type=\"xsd:float\"$atts>$val</$name>";
531 }
532 break;
533 case (is_string($val) || $type == 'string'):
534 $this->debug("serialize_val: serialize string");
535 $val = $this->expandEntities($val);
536 if ($use == 'literal') {
537 $xml .= "<$name$xmlns$atts>$val</$name>";
538 } else {
539 $xml .= "<$name$xmlns xsi:type=\"xsd:string\"$atts>$val</$name>";
540 }
541 break;
542 case is_object($val):
543 $this->debug("serialize_val: serialize object");
544 if (get_class($val) == 'soapval') {
545 $this->debug("serialize_val: serialize soapval object");
546 $pXml = $val->serialize($use);
547 $this->appendDebug($val->getDebug());
548 $val->clearDebug();
549 } else {
550 if (! $name) {
551 $name = get_class($val);
552 $this->debug("In serialize_val, used class name $name as element name");
553 } else {
554 $this->debug("In serialize_val, do not override name $name for element name for class " . get_class($val));
555 }
556 foreach(get_object_vars($val) as $k => $v){
557 $pXml = isset($pXml) ? $pXml.$this->serialize_val($v,$k,false,false,false,false,$use) : $this->serialize_val($v,$k,false,false,false,false,$use);
558 }
559 }
560 if(isset($type) && isset($type_prefix)){
561 $type_str = " xsi:type=\"$type_prefix:$type\"";
562 } else {
563 $type_str = '';
564 }
565 if ($use == 'literal') {
566 $xml .= "<$name$xmlns$atts>$pXml</$name>";
567 } else {
568 $xml .= "<$name$xmlns$type_str$atts>$pXml</$name>";
569 }
570 break;
571 break;
572 case (is_array($val) || $type):
573 // detect if struct or array
574 $valueType = $this->isArraySimpleOrStruct($val);
575 if($valueType=='arraySimple' || preg_match('/^ArrayOf/',$type)){
576 $this->debug("serialize_val: serialize array");
577 $i = 0;
578 if(is_array($val) && count($val)> 0){
579 foreach($val as $v){
580 if(is_object($v) && get_class($v) == 'soapval'){
581 $tt_ns = $v->type_ns;
582 $tt = $v->type;
583 } elseif (is_array($v)) {
584 $tt = $this->isArraySimpleOrStruct($v);
585 } else {
586 $tt = gettype($v);
587 }
588 $array_types[$tt] = 1;
589 // TODO: for literal, the name should be $name
590 $xml .= $this->serialize_val($v,'item',false,false,false,false,$use);
591 ++$i;
592 }
593 if(count($array_types) > 1){
594 $array_typename = 'xsd:anyType';
595 } elseif(isset($tt) && isset($this->typemap[$this->XMLSchemaVersion][$tt])) {
596 if ($tt == 'integer') {
597 $tt = 'int';
598 }
599 $array_typename = 'xsd:'.$tt;
600 } elseif(isset($tt) && $tt == 'arraySimple'){
601 $array_typename = 'SOAP-ENC:Array';
602 } elseif(isset($tt) && $tt == 'arrayStruct'){
603 $array_typename = 'unnamed_struct_use_soapval';
604 } else {
605 // if type is prefixed, create type prefix
606 if ($tt_ns != '' && $tt_ns == $this->namespaces['xsd']){
607 $array_typename = 'xsd:' . $tt;
608 } elseif ($tt_ns) {
609 $tt_prefix = 'ns' . rand(1000, 9999);
610 $array_typename = "$tt_prefix:$tt";
611 $xmlns .= " xmlns:$tt_prefix=\"$tt_ns\"";
612 } else {
613 $array_typename = $tt;
614 }
615 }
616 $array_type = $i;
617 if ($use == 'literal') {
618 $type_str = '';
619 } else if (isset($type) && isset($type_prefix)) {
620 $type_str = " xsi:type=\"$type_prefix:$type\"";
621 } else {
622 $type_str = " xsi:type=\"SOAP-ENC:Array\" SOAP-ENC:arrayType=\"".$array_typename."[$array_type]\"";
623 }
624 // empty array
625 } else {
626 if ($use == 'literal') {
627 $type_str = '';
628 } else if (isset($type) && isset($type_prefix)) {
629 $type_str = " xsi:type=\"$type_prefix:$type\"";
630 } else {
631 $type_str = " xsi:type=\"SOAP-ENC:Array\" SOAP-ENC:arrayType=\"xsd:anyType[0]\"";
632 }
633 }
634 // TODO: for array in literal, there is no wrapper here
635 $xml = "<$name$xmlns$type_str$atts>".$xml."</$name>";
636 } else {
637 // got a struct
638 $this->debug("serialize_val: serialize struct");
639 if(isset($type) && isset($type_prefix)){
640 $type_str = " xsi:type=\"$type_prefix:$type\"";
641 } else {
642 $type_str = '';
643 }
644 if ($use == 'literal') {
645 $xml .= "<$name$xmlns$atts>";
646 } else {
647 $xml .= "<$name$xmlns$type_str$atts>";
648 }
649 foreach($val as $k => $v){
650 // Apache Map
651 if ($type == 'Map' && $type_ns == 'http://xml.apache.org/xml-soap') {
652 $xml .= '<item>';
653 $xml .= $this->serialize_val($k,'key',false,false,false,false,$use);
654 $xml .= $this->serialize_val($v,'value',false,false,false,false,$use);
655 $xml .= '</item>';
656 } else {
657 $xml .= $this->serialize_val($v,$k,false,false,false,false,$use);
658 }
659 }
660 $xml .= "</$name>";
661 }
662 break;
663 default:
664 $this->debug("serialize_val: serialize unknown");
665 $xml .= 'not detected, got '.gettype($val).' for '.$val;
666 break;
667 }
668 $this->debug("serialize_val returning $xml");
669 return $xml;
670 }

References $attributes, $i, $name, $type, $xml, appendDebug(), debug(), expandEntities(), isArraySimpleOrStruct(), serialize_val(), and varDump().

+ Here is the call graph for this function:

◆ serializeEnvelope() [1/2]

nusoap_base::serializeEnvelope (   $body,
  $headers = false,
  $namespaces = array(),
  $style = 'rpc',
  $use = 'encoded' 
)

serialize message

Parameters
stringbody
stringheaders optional
arraynamespaces optional
stringstyle optional (rpc|document)
stringuse optional (encoded|literal)
Returns
string message @access public

Definition at line 417 of file nusoap.php.

417 {
418 // TODO: add an option to automatically run utf8_encode on $body and $headers
419 // if $this->soap_defencoding is UTF-8. Not doing this automatically allows
420 // one to send arbitrary UTF-8 characters, not just characters that map to ISO-8859-1
421
422 // serialize namespaces
423 $ns_string = '';
424 foreach(array_merge($this->namespaces,$namespaces) as $k => $v){
425 $ns_string .= " xmlns:$k=\"$v\"";
426 }
427 if($style == 'rpc' && $use == 'encoded') {
428 $ns_string = ' SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"' . $ns_string;
429 }
430
431 // serialize headers
432 if($headers){
433 $headers = "<SOAP-ENV:Header>".$headers."</SOAP-ENV:Header>";
434 }
435 // serialize envelope
436 return
437 '<?xml version="1.0" encoding="'.$this->soap_defencoding .'"?'.">".
438 '<SOAP-ENV:Envelope'.$ns_string.">".
439 $headers.
440 "<SOAP-ENV:Body>".
441 $body.
442 "</SOAP-ENV:Body>".
443 "</SOAP-ENV:Envelope>";
444 }

References $namespaces.

Referenced by soap_client\call(), nusoap_client\call(), soap_server\serialize_return(), and nusoap_server\serialize_return().

+ Here is the caller graph for this function:

◆ serializeEnvelope() [2/2]

nusoap_base::serializeEnvelope (   $body,
  $headers = false,
  $namespaces = array(),
  $style = 'rpc',
  $use = 'encoded',
  $encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/' 
)

serializes a message

Parameters
string$bodythe XML of the SOAP body
mixed$headersoptional string of XML with SOAP header content, or array of soapval objects for SOAP headers, or associative array
array$namespacesoptional the namespaces used in generating the body and headers
string$styleoptional (rpc|document)
string$useoptional (encoded|literal)
string$encodingStyleoptional (usually 'http://schemas.xmlsoap.org/soap/encoding/' for encoded)
Returns
string the message @access public

Definition at line 684 of file nusoap.php.

684 ://schemas.xmlsoap.org/soap/encoding/'){
685 // TODO: add an option to automatically run utf8_encode on $body and $headers
686 // if $this->soap_defencoding is UTF-8. Not doing this automatically allows
687 // one to send arbitrary UTF-8 characters, not just characters that map to ISO-8859-1
688
689 $this->debug("In serializeEnvelope length=" . strlen($body) . " body (max 1000 characters)=" . substr($body, 0, 1000) . " style=$style use=$use encodingStyle=$encodingStyle");
690 $this->debug("headers:");
691 $this->appendDebug($this->varDump($headers));
692 $this->debug("namespaces:");
693 $this->appendDebug($this->varDump($namespaces));
694
695 // serialize namespaces
696 $ns_string = '';
697 foreach(array_merge($this->namespaces,$namespaces) as $k => $v){
698 $ns_string .= " xmlns:$k=\"$v\"";
699 }
700 if($encodingStyle) {
701 $ns_string = " SOAP-ENV:encodingStyle=\"$encodingStyle\"$ns_string";
702 }
703
704 // serialize headers
705 if($headers){
706 if (is_array($headers)) {
707 $xml = '';
708 foreach ($headers as $k => $v) {
709 if (is_object($v) && get_class($v) == 'soapval') {
710 $xml .= $this->serialize_val($v, false, false, false, false, false, $use);
711 } else {
712 $xml .= $this->serialize_val($v, $k, false, false, false, false, $use);
713 }
714 }
715 $headers = $xml;
716 $this->debug("In serializeEnvelope, serialized array of headers to $headers");
717 }
718 $headers = "<SOAP-ENV:Header>".$headers."</SOAP-ENV:Header>";
719 }
720 // serialize envelope
721 return
722 '<?xml version="1.0" encoding="'.$this->soap_defencoding .'"?'.">".
723 '<SOAP-ENV:Envelope'.$ns_string.">".
724 $headers.
725 "<SOAP-ENV:Body>".
726 $body.
727 "</SOAP-ENV:Body>".
728 "</SOAP-ENV:Envelope>";
729 }

References $namespaces, $xml, appendDebug(), debug(), serialize_val(), and varDump().

+ Here is the call graph for this function:

◆ setDebugLevel()

nusoap_base::setDebugLevel (   $level)

sets the debug level for this instance

Parameters
int$levelDebug level 0-9, where 0 turns off @access public

Definition at line 276 of file nusoap.php.

276 {
277 $this->debugLevel = $level;
278 }

◆ setError() [1/2]

◆ setError() [2/2]

nusoap_base::setError (   $str)

sets error string

Returns
boolean $string error string @access private

Definition at line 382 of file nusoap.php.

382 {
383 $this->error_str = $str;
384 }

◆ setGlobalDebugLevel()

nusoap_base::setGlobalDebugLevel (   $level)

sets the global debug level, which applies to future instances

Parameters
int$levelDebug level 0-9, where 0 turns off @access public

Definition at line 256 of file nusoap.php.

256 {
257 $GLOBALS['_transient']['static']['nusoap_base']->globalDebugLevel = $level;
258 }

References $GLOBALS.

◆ varDump() [1/2]

◆ varDump() [2/2]

nusoap_base::varDump (   $data)

Returns a string with the output of var_dump.

Parameters
mixed$dataThe variable to var_dump
Returns
string The output of var_dump @access public

Definition at line 884 of file nusoap.php.

884 {
885 ob_start();
886 var_dump($data);
887 $ret_val = ob_get_contents();
888 ob_end_clean();
889 return $ret_val;
890 }

References $data.

Field Documentation

◆ $charencoding

nusoap_base::$charencoding = true

Definition at line 70 of file nusoap.php.

◆ $debug_str

nusoap_base::$debug_str = ''

Current debug string (manipulated by debug/appendDebug/clearDebug/getDebug/getDebugAsXMLComment)

@var string
@access private

Definition at line 67 of file nusoap.php.

Referenced by getDebug().

◆ $debugLevel

nusoap_base::$debugLevel

Definition at line 146 of file nusoap.php.

Referenced by getDebugLevel().

◆ $error_str

nusoap_base::$error_str = false

Current error string (manipulated by getError/setError)

@var string
@access private

Definition at line 66 of file nusoap.php.

Referenced by soap_transport_http\connect(), and getError().

◆ $namespaces

nusoap_base::$namespaces
Initial value:
= array(
'SOAP-ENV' => 'http://schemas.xmlsoap.org/soap/envelope/',
'xsd' => 'http://www.w3.org/2001/XMLSchema',
'xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
'SOAP-ENC' => 'http://schemas.xmlsoap.org/soap/encoding/',
'si' => 'http://soapinterop.org/xsd')

Definition at line 95 of file nusoap.php.

Referenced by nusoap_xmlschema\__construct(), serializeEnvelope(), and XMLSchema\XMLSchema().

◆ $revision

nusoap_base::$revision = '$Revision$'

Definition at line 65 of file nusoap.php.

◆ $soap_defencoding

◆ $title

nusoap_base::$title = 'NuSOAP'

Definition at line 63 of file nusoap.php.

◆ $typemap

nusoap_base::$typemap
Initial value:
= array(
'http://www.w3.org/2001/XMLSchema' => array(
'string'=>'string','boolean'=>'boolean','float'=>'double','double'=>'double','decimal'=>'double',
'duration'=>'','dateTime'=>'string','time'=>'string','date'=>'string','gYearMonth'=>'',
'gYear'=>'','gMonthDay'=>'','gDay'=>'','gMonth'=>'','hexBinary'=>'string','base64Binary'=>'string',
'normalizedString'=>'string','token'=>'string','language'=>'','NMTOKEN'=>'','NMTOKENS'=>'','Name'=>'','NCName'=>'','ID'=>'',
'IDREF'=>'','IDREFS'=>'','ENTITY'=>'','ENTITIES'=>'','integer'=>'integer','nonPositiveInteger'=>'integer',
'negativeInteger'=>'integer','long'=>'integer','int'=>'integer','short'=>'integer','byte'=>'integer','nonNegativeInteger'=>'integer',
'unsignedLong'=>'','unsignedInt'=>'','unsignedShort'=>'','unsignedByte'=>'','positiveInteger'=>''),
'http://www.w3.org/1999/XMLSchema' => array(
'i4'=>'','int'=>'integer','boolean'=>'boolean','string'=>'string','double'=>'double',
'float'=>'double','dateTime'=>'string',
'timeInstant'=>'string','base64Binary'=>'string','base64'=>'string','ur-type'=>'array'),
'http://soapinterop.org/xsd' => array('SOAPStruct'=>'struct'),
'http://schemas.xmlsoap.org/soap/encoding/' => array('base64'=>'string','array'=>'array','Array'=>'array'),
'http://xml.apache.org/xml-soap' => array('Map')
)

Definition at line 110 of file nusoap.php.

◆ $usedNamespaces

nusoap_base::$usedNamespaces = array()

Definition at line 101 of file nusoap.php.

Referenced by soap_client\call(), and nusoap_client\call().

◆ $version

nusoap_base::$version = '0.6.7'

Definition at line 64 of file nusoap.php.

◆ $xmlEntities

nusoap_base::$xmlEntities
Initial value:
= array('quot' => '"','amp' => '&',
'lt' => '<','gt' => '>','apos' => "'")

Definition at line 135 of file nusoap.php.

◆ $XMLSchemaVersion

nusoap_base::$XMLSchemaVersion = 'http://www.w3.org/2001/XMLSchema'

Definition at line 78 of file nusoap.php.

Referenced by soap_parser\start_element(), and nusoap_parser\start_element().


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