ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
soap_server Class Reference

soap_server allows the user to create a SOAP server that is capable of receiving messages and returning responses More...

+ Inheritance diagram for soap_server:
+ Collaboration diagram for soap_server:

Public Member Functions

 soap_server ($wsdl=false)
 
 service ($data)
 processes request and returns response More...
 
 parse_http_headers ()
 parses HTTP request headers. More...
 
 parse_request ($data='')
 parses a request More...
 
 invoke_method ()
 invokes a PHP function for the requested SOAP method More...
 
 serialize_return ()
 serializes the return value from a PHP function into a full SOAP Envelope More...
 
 send_response ()
 sends an HTTP response More...
 
 verify_method ($operation, $request)
 takes the value that was created by parsing the request and compares to the method's signature, if available. More...
 
 add_to_map ($methodname, $in, $out)
 add a method to the dispatch map More...
 
 register ($name, $in=false, $out=false, $namespace=false, $soapaction=false, $style=false, $use=false, $documentation='')
 register a service with the server More...
 
 fault ($faultcode, $faultstring, $faultactor='', $faultdetail='')
 create a fault. More...
 
 webDescription ()
 prints html description of services More...
 
 configureWSDL ($serviceName, $namespace=false, $endpoint=false, $style='rpc', $transport='http://schemas.xmlsoap.org/soap/http', $schemaTargetNamespace=false)
 sets up wsdl object this acts as a flag to enable internal WSDL generation More...
 
- Public Member Functions inherited from nusoap_base
 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)
 
 nusoap_base ()
 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...
 
- Public Member Functions inherited from nusoap_server
 nusoap_server ($wsdl=false)
 
 service ($data)
 processes request and returns response More...
 
 parse_http_headers ()
 parses HTTP request headers. More...
 
 parse_request ($data='')
 parses a request More...
 
 invoke_method ()
 invokes a PHP function for the requested SOAP method More...
 
 serialize_return ()
 serializes the return value from a PHP function into a full SOAP Envelope More...
 
 send_response ()
 sends an HTTP response More...
 
 verify_method ($operation, $request)
 takes the value that was created by parsing the request and compares to the method's signature, if available. More...
 
 parseRequest ($headers, $data)
 processes SOAP message received from client More...
 
 getHTTPBody ($soapmsg)
 gets the HTTP body for the current response. More...
 
 getHTTPContentType ()
 gets the HTTP content type for the current response. More...
 
 getHTTPContentTypeCharset ()
 gets the HTTP content type charset for the current response. More...
 
 add_to_map ($methodname, $in, $out)
 add a method to the dispatch map (this has been replaced by the register method) More...
 
 register ($name, $in=array(), $out=array(), $namespace=false, $soapaction=false, $style=false, $use=false, $documentation='', $encodingStyle='')
 register a service function with the server More...
 
 fault ($faultcode, $faultstring, $faultactor='', $faultdetail='')
 Specify a fault to be returned to the client. More...
 
 configureWSDL ($serviceName, $namespace=false, $endpoint=false, $style='rpc', $transport='http://schemas.xmlsoap.org/soap/http', $schemaTargetNamespace=false)
 Sets up wsdl object. More...
 

Data Fields

 $headers = array()
 
 $request = ''
 
 $requestHeaders = ''
 
 $document = ''
 
 $requestSOAP = ''
 
 $methodURI = ''
 
 $methodname = ''
 
 $methodparams = array()
 
 $xml_encoding = ''
 
 $SOAPAction = ''
 
 $outgoing_headers = array()
 
 $response = ''
 
 $responseHeaders = ''
 
 $responseSOAP = ''
 
 $methodreturn = false
 
 $methodreturnisliteralxml = false
 
 $fault = false
 
 $result = 'successful'
 
 $operations = array()
 
 $wsdl = false
 
 $externalWSDLURL = false
 
 $debug_flag = false
 
- Data Fields inherited from nusoap_base
 $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
 
- Data Fields inherited from nusoap_server
 $headers = array()
 
 $request = ''
 
 $requestHeaders = ''
 
 $requestHeader = NULL
 
 $document = ''
 
 $requestSOAP = ''
 
 $methodURI = ''
 
 $methodname = ''
 
 $methodparams = array()
 
 $SOAPAction = ''
 
 $xml_encoding = ''
 
 $decode_utf8 = true
 
 $outgoing_headers = array()
 
 $response = ''
 
 $responseHeaders = ''
 
 $responseSOAP = ''
 
 $methodreturn = false
 
 $methodreturnisliteralxml = false
 
 $fault = false
 
 $result = 'successful'
 
 $operations = array()
 
 $wsdl = false
 
 $externalWSDLURL = false
 
 $debug_flag = false
 

Detailed Description

soap_server allows the user to create a SOAP server that is capable of receiving messages and returning responses

Backward compatibility.

NOTE: WSDL functionality is experimental

Author
Dietrich Ayala dietr.nosp@m.ich@.nosp@m.ganx4.nosp@m..com @access public

Definition at line 2313 of file nusoap.php.

Member Function Documentation

◆ add_to_map()

soap_server::add_to_map (   $methodname,
  $in,
  $out 
)

add a method to the dispatch map

Parameters
string$methodname
string$inarray of input values
string$outarray of output values @access public

Reimplemented from nusoap_server.

Definition at line 2865 of file nusoap.php.

2865 {
2866 $this->operations[$methodname] = array('name' => $methodname,'in' => $in,'out' => $out);
2867 }

References $in, $methodname, and $out.

◆ configureWSDL()

soap_server::configureWSDL (   $serviceName,
  $namespace = false,
  $endpoint = false,
  $style = 'rpc',
  $transport = 'http://schemas.xmlsoap.org/soap/http',
  $schemaTargetNamespace = false 
)

sets up wsdl object this acts as a flag to enable internal WSDL generation

Parameters
string$serviceName,nameof the service
string$namespaceoptional tns namespace
string$endpointoptional URL of service endpoint
string$styleoptional (rpc|document) WSDL style (also specified by operation)
string$transportoptional SOAP transport
string$schemaTargetNamespaceoptional targetNamespace for service schema

Reimplemented from nusoap_server.

Definition at line 3062 of file nusoap.php.

3062 ://schemas.xmlsoap.org/soap/http', $schemaTargetNamespace = false)
3063 {
3064 $SERVER_NAME = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : $GLOBALS['SERVER_NAME'];
3065 $SERVER_PORT = isset($_SERVER['SERVER_PORT']) ? $_SERVER['SERVER_PORT'] : $GLOBALS['SERVER_PORT'];
3066 if ($SERVER_PORT == 80) {
3067 $SERVER_PORT = '';
3068 } else {
3069 $SERVER_PORT = ':' . $SERVER_PORT;
3070 }
3071 $SCRIPT_NAME = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : $GLOBALS['SCRIPT_NAME'];
3072 if(false == $namespace) {
3073 $namespace = "http://$SERVER_NAME/soap/$serviceName";
3074 }
3075
3076 if(false == $endpoint) {
3077 if (isset($_SERVER['HTTPS'])) {
3078 $HTTPS = $_SERVER['HTTPS'];
3079 } elseif (isset($GLOBALS['HTTPS'])) {
3080 $HTTPS = $GLOBALS['HTTPS'];
3081 } else {
3082 $HTTPS = '0';
3083 }
3084 if ($HTTPS == '1' || $HTTPS == 'on') {
3085 $SCHEME = 'https';
3086 } else {
3087 $SCHEME = 'http';
3088 }
3089 $endpoint = "$SCHEME://$SERVER_NAME$SERVER_PORT$SCRIPT_NAME";
3090 }
3091
3092 if(false == $schemaTargetNamespace) {
3093 $schemaTargetNamespace = $namespace;
3094 }
3095
3096 $this->wsdl = new wsdl;
3097 $this->wsdl->serviceName = $serviceName;
3098 $this->wsdl->endpoint = $endpoint;
3099 $this->wsdl->namespaces['tns'] = $namespace;
3100 $this->wsdl->namespaces['soap'] = 'http://schemas.xmlsoap.org/wsdl/soap/';
3101 $this->wsdl->namespaces['wsdl'] = 'http://schemas.xmlsoap.org/wsdl/';
3102 if ($schemaTargetNamespace != $namespace) {
3103 $this->wsdl->namespaces['types'] = $schemaTargetNamespace;
3104 }
3105 $this->wsdl->schemas[$schemaTargetNamespace][0] = new xmlschema('', '', $this->wsdl->namespaces);
3106 $this->wsdl->schemas[$schemaTargetNamespace][0]->schemaTargetNamespace = $schemaTargetNamespace;
3107 $this->wsdl->schemas[$schemaTargetNamespace][0]->imports['http://schemas.xmlsoap.org/soap/encoding/'][0] = array('location' => '', 'loaded' => true);
3108 $this->wsdl->schemas[$schemaTargetNamespace][0]->imports['http://schemas.xmlsoap.org/wsdl/'][0] = array('location' => '', 'loaded' => true);
3109 $this->wsdl->bindings[$serviceName.'Binding'] = array(
3110 'name'=>$serviceName.'Binding',
3111 'style'=>$style,
3112 'transport'=>$transport,
3113 'portType'=>$serviceName.'PortType');
3114 $this->wsdl->ports[$serviceName.'Port'] = array(
3115 'binding'=>$serviceName.'Binding',
3116 'location'=>$endpoint,
3117 'bindingType'=>'http://schemas.xmlsoap.org/wsdl/soap/');
3118 }
parses a WSDL file, allows access to it's data, other utility methods
Definition: nusoap.php:3133
if($err=$client->getError()) $namespace
$style
Definition: example_012.php:70
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Definition: CAS.php:276
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']

References $_SERVER, $GLOBALS, $namespace, and $style.

◆ fault()

soap_server::fault (   $faultcode,
  $faultstring,
  $faultactor = '',
  $faultdetail = '' 
)

create a fault.

this also acts as a flag to the server that a fault has occured.

Parameters
stringfaultcode
stringfaultstring
stringfaultactor
stringfaultdetail @access public

Reimplemented from nusoap_server.

Definition at line 2926 of file nusoap.php.

2926 {
2927 $this->fault = new soap_fault($faultcode,$faultactor,$faultstring,$faultdetail);
2928 }
soap_fault class, allows for creation of faults mainly used for returning faults from deployed functi...
Definition: nusoap.php:669
fault($faultcode, $faultstring, $faultactor='', $faultdetail='')
create a fault.
Definition: nusoap.php:2926

References fault().

Referenced by fault(), invoke_method(), parse_request(), send_response(), serialize_return(), and service().

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

◆ invoke_method()

soap_server::invoke_method ( )

invokes a PHP function for the requested SOAP method

The following fields are set by this function (when successful)

methodreturn

Note that the PHP function that is called may also set the following fields to affect the response sent to the client

responseHeaders outgoing_headers

This sets the fault field on error

@access private

Reimplemented from nusoap_server.

Definition at line 2634 of file nusoap.php.

2634 {
2635 $this->debug('entering invoke_method');
2636 // does method exist?
2637 if(!function_exists($this->methodname)){
2638 // "method not found" fault here
2639 $this->debug("method '$this->methodname' not found!");
2640 $this->result = 'fault: method not found';
2641 $this->fault('Server',"method '$this->methodname' not defined in service");
2642 return;
2643 }
2644 if($this->wsdl){
2645 if(!$this->opData = $this->wsdl->getOperationData($this->methodname)){
2646 //if(
2647 $this->fault('Server',"Operation '$this->methodname' is not defined in the WSDL for this service");
2648 return;
2649 }
2650 $this->debug('opData is ' . $this->varDump($this->opData));
2651 }
2652 $this->debug("method '$this->methodname' exists");
2653 // evaluate message, getting back parameters
2654 // verify that request parameters match the method's signature
2655 if(! $this->verify_method($this->methodname,$this->methodparams)){
2656 // debug
2657 $this->debug('ERROR: request not verified against method signature');
2658 $this->result = 'fault: request failed validation against method signature';
2659 // return fault
2660 $this->fault('Server',"Operation '$this->methodname' not defined in service.");
2661 return;
2662 }
2663
2664 // if there are parameters to pass
2665 $this->debug('params var dump '.$this->varDump($this->methodparams));
2666 if($this->methodparams){
2667 $this->debug("calling '$this->methodname' with params");
2668 if (! function_exists('call_user_func_array')) {
2669 $this->debug('calling method using eval()');
2670 $funcCall = $this->methodname.'(';
2671 foreach($this->methodparams as $param) {
2672 $funcCall .= "\"$param\",";
2673 }
2674 $funcCall = substr($funcCall, 0, -1).')';
2675 $this->debug('function call:<br>'.$funcCall);
2676 @eval("\$this->methodreturn = $funcCall;");
2677 } else {
2678 $this->debug('calling method using call_user_func_array()');
2679 $this->methodreturn = call_user_func_array("$this->methodname",$this->methodparams);
2680 }
2681 } else {
2682 // call method w/ no parameters
2683 $this->debug("calling $this->methodname w/ no params");
2684 $m = $this->methodname;
2685 $this->methodreturn = @$m();
2686 }
2687 $this->debug('methodreturn var dump'.$this->varDump($this->methodreturn));
2688 $this->debug("leaving invoke_method: called method $this->methodname, received $this->methodreturn of type ".gettype($this->methodreturn));
2689 }
debug($string)
adds debug data to the class level debug string
Definition: nusoap.php:144
varDump($data)
Definition: nusoap.php:567
verify_method($operation, $request)
takes the value that was created by parsing the request and compares to the method's signature,...
Definition: nusoap.php:2846
getOperationData($operation, $bindingType='soap')
returns an associative array of data necessary for calling an operation
Definition: nusoap.php:3679

References $methodname, nusoap_base\debug(), fault(), wsdl\getOperationData(), nusoap_base\varDump(), and verify_method().

Referenced by service().

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

◆ parse_http_headers()

soap_server::parse_http_headers ( )

parses HTTP request headers.

The following fields are set by this function (when successful)

headers request xml_encoding SOAPAction

@access private

Reimplemented from nusoap_server.

Definition at line 2451 of file nusoap.php.

2451 {
2452 global $HTTP_SERVER_VARS;
2453 global $_SERVER;
2454
2455 $this->request = '';
2456 if(function_exists('getallheaders')){
2457 $this->headers = getallheaders();
2458 foreach($this->headers as $k=>$v){
2459 $this->request .= "$k: $v\r\n";
2460 $this->debug("$k: $v");
2461 }
2462 // get SOAPAction header
2463 if(isset($this->headers['SOAPAction'])){
2464 $this->SOAPAction = str_replace('"','',$this->headers['SOAPAction']);
2465 }
2466 // get the character encoding of the incoming request
2467 if(strpos($this->headers['Content-Type'],'=')){
2468 $enc = str_replace('"','',substr(strstr($this->headers["Content-Type"],'='),1));
2469 if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){
2470 $this->xml_encoding = strtoupper($enc);
2471 } else {
2472 $this->xml_encoding = 'US-ASCII';
2473 }
2474 } else {
2475 // should be US-ASCII, but for XML, let's be pragmatic and admit UTF-8 is most common
2476 $this->xml_encoding = 'UTF-8';
2477 }
2478 } elseif(isset($_SERVER) && is_array($_SERVER)){
2479 foreach ($_SERVER as $k => $v) {
2480 if (substr($k, 0, 5) == 'HTTP_') {
2481 $k = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($k, 5)))));
2482 } else {
2483 $k = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $k))));
2484 }
2485 if ($k == 'Soapaction') {
2486 // get SOAPAction header
2487 $k = 'SOAPAction';
2488 $v = str_replace('"', '', $v);
2489 $v = str_replace('\\', '', $v);
2490 $this->SOAPAction = $v;
2491 } else if ($k == 'Content-Type') {
2492 // get the character encoding of the incoming request
2493 if (strpos($v, '=')) {
2494 $enc = substr(strstr($v, '='), 1);
2495 $enc = str_replace('"', '', $enc);
2496 $enc = str_replace('\\', '', $enc);
2497 if (eregi('^(ISO-8859-1|US-ASCII|UTF-8)$', $enc)) {
2498 $this->xml_encoding = strtoupper($enc);
2499 } else {
2500 $this->xml_encoding = 'US-ASCII';
2501 }
2502 } else {
2503 // should be US-ASCII, but for XML, let's be pragmatic and admit UTF-8 is most common
2504 $this->xml_encoding = 'UTF-8';
2505 }
2506 }
2507 $this->headers[$k] = $v;
2508 $this->request .= "$k: $v\r\n";
2509 $this->debug("$k: $v");
2510 }
2511 } elseif (is_array($HTTP_SERVER_VARS)) {
2512 foreach ($HTTP_SERVER_VARS as $k => $v) {
2513 if (substr($k, 0, 5) == 'HTTP_') {
2514 $k = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($k, 5)))));
2515 if ($k == 'Soapaction') {
2516 // get SOAPAction header
2517 $k = 'SOAPAction';
2518 $v = str_replace('"', '', $v);
2519 $v = str_replace('\\', '', $v);
2520 $this->SOAPAction = $v;
2521 } else if ($k == 'Content-Type') {
2522 // get the character encoding of the incoming request
2523 if (strpos($v, '=')) {
2524 $enc = substr(strstr($v, '='), 1);
2525 $enc = str_replace('"', '', $enc);
2526 $enc = str_replace('\\', '', $enc);
2527 if (eregi('^(ISO-8859-1|US-ASCII|UTF-8)$', $enc)) {
2528 $this->xml_encoding = strtoupper($enc);
2529 } else {
2530 $this->xml_encoding = 'US-ASCII';
2531 }
2532 } else {
2533 // should be US-ASCII, but for XML, let's be pragmatic and admit UTF-8 is most common
2534 $this->xml_encoding = 'UTF-8';
2535 }
2536 }
2537 $this->headers[$k] = $v;
2538 $this->request .= "$k: $v\r\n";
2539 $this->debug("$k: $v");
2540 }
2541 }
2542 }
2543 }

References $_SERVER, and nusoap_base\debug().

Referenced by parse_request().

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

◆ parse_request()

soap_server::parse_request (   $data = '')

parses a request

The following fields are set by this function (when successful)

headers request xml_encoding SOAPAction request requestSOAP methodURI methodname methodparams requestHeaders document

This sets the fault field on error

Parameters
string$dataXML string @access private

Reimplemented from nusoap_server.

Definition at line 2567 of file nusoap.php.

2567 {
2568 $this->debug('entering parse_request() on '.date('H:i Y-m-d'));
2569 $this->parse_http_headers();
2570 $this->debug('got character encoding: '.$this->xml_encoding);
2571 // uncompress if necessary
2572 if (isset($this->headers['Content-Encoding']) && $this->headers['Content-Encoding'] != '') {
2573 $this->debug('got content encoding: ' . $this->headers['Content-Encoding']);
2574 if ($this->headers['Content-Encoding'] == 'deflate' || $this->headers['Content-Encoding'] == 'gzip') {
2575 // if decoding works, use it. else assume data wasn't gzencoded
2576 if (function_exists('gzuncompress')) {
2577 if ($this->headers['Content-Encoding'] == 'deflate' && $degzdata = @gzuncompress($data)) {
2578 $data = $degzdata;
2579 } elseif ($this->headers['Content-Encoding'] == 'gzip' && $degzdata = gzinflate(substr($data, 10))) {
2580 $data = $degzdata;
2581 } else {
2582 $this->fault('Server', 'Errors occurred when trying to decode the data');
2583 return;
2584 }
2585 } else {
2586 $this->fault('Server', 'This Server does not support compressed data');
2587 return;
2588 }
2589 }
2590 }
2591 $this->request .= "\r\n".$data;
2592 $this->requestSOAP = $data;
2593 // parse response, get soap parser obj
2594 $parser = new soap_parser($data,$this->xml_encoding);
2595 // parser debug
2596 $this->debug("parser debug: \n".$parser->debug_str);
2597 // if fault occurred during message parsing
2598 if($err = $parser->getError()){
2599 $this->result = 'fault: error in msg parsing: '.$err;
2600 $this->fault('Server',"error in msg parsing:\n".$err);
2601 // else successfully parsed request into soapval object
2602 } else {
2603 // get/set methodname
2604 $this->methodURI = $parser->root_struct_namespace;
2605 $this->methodname = $parser->root_struct_name;
2606 $this->debug('method name: '.$this->methodname);
2607 $this->debug('calling parser->get_response()');
2608 $this->methodparams = $parser->get_response();
2609 // get SOAP headers
2610 $this->requestHeaders = $parser->getHeaders();
2611 // add document for doclit support
2612 $this->document = $parser->document;
2613 }
2614 $this->debug('leaving parse_request() on '.date('H:i Y-m-d'));
2615 }
soap_parser class parses SOAP XML messages into native PHP values
Definition: nusoap.php:4431
parse_http_headers()
parses HTTP request headers.
Definition: nusoap.php:2451
$data

References $data, nusoap_base\debug(), fault(), and parse_http_headers().

Referenced by service().

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

◆ register()

soap_server::register (   $name,
  $in = false,
  $out = false,
  $namespace = false,
  $soapaction = false,
  $style = false,
  $use = false,
  $documentation = '' 
)

register a service with the server

Parameters
string$methodname
string$inassoc array of input values: key = param name, value = param type
string$outassoc array of output values: key = param name, value = param type
string$namespace
string$soapaction
string$styleoptional (rpc|document)
string$useoptional (encoded|literal)
string$documentationoptional Description to include in WSDL @access public

Definition at line 2882 of file nusoap.php.

2882 {
2883 if($this->externalWSDLURL){
2884 die('You cannot bind to an external WSDL file, and register methods outside of it! Please choose either WSDL or no WSDL.');
2885 }
2886 if(false == $in) {
2887 }
2888 if(false == $out) {
2889 }
2890 if(false == $namespace) {
2891 }
2892 if(false == $soapaction) {
2893 $SERVER_NAME = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : $GLOBALS['SERVER_NAME'];
2894 $SCRIPT_NAME = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : $GLOBALS['SCRIPT_NAME'];
2895 $soapaction = "http://$SERVER_NAME$SCRIPT_NAME/$name";
2896 }
2897 if(false == $style) {
2898 $style = "rpc";
2899 }
2900 if(false == $use) {
2901 $use = "encoded";
2902 }
2903
2904 $this->operations[$name] = array(
2905 'name' => $name,
2906 'in' => $in,
2907 'out' => $out,
2908 'namespace' => $namespace,
2909 'soapaction' => $soapaction,
2910 'style' => $style);
2911 if($this->wsdl){
2912 $this->wsdl->addOperation($name,$in,$out,$namespace,$soapaction,$style,$use,$documentation);
2913 }
2914 return true;
2915 }
addOperation($name, $in=false, $out=false, $namespace=false, $soapaction=false, $style='rpc', $use='encoded', $documentation='')
register a service with the server
Definition: nusoap.php:4362

References $_SERVER, $GLOBALS, $in, $namespace, $out, $style, and wsdl\addOperation().

+ Here is the call graph for this function:

◆ send_response()

soap_server::send_response ( )

sends an HTTP response

The following fields are set by this function (when successful)

outgoing_headers response

@access private

Reimplemented from nusoap_server.

Definition at line 2773 of file nusoap.php.

2773 {
2774 $this->debug('Enter send_response');
2775 if ($this->fault) {
2776 $payload = $this->fault->serialize();
2777 $this->outgoing_headers[] = "HTTP/1.0 500 Internal Server Error";
2778 $this->outgoing_headers[] = "Status: 500 Internal Server Error";
2779 } else {
2780 $payload = $this->responseSOAP;
2781 // Some combinations of PHP+Web server allow the Status
2782 // to come through as a header. Since OK is the default
2783 // just do nothing.
2784 // $this->outgoing_headers[] = "HTTP/1.0 200 OK";
2785 // $this->outgoing_headers[] = "Status: 200 OK";
2786 }
2787 // add debug data if in debug mode
2788 if(isset($this->debug_flag) && $this->debug_flag){
2789 while (strpos($this->debug_str, '--')) {
2790 $this->debug_str = str_replace('--', '- -', $this->debug_str);
2791 }
2792 $payload .= "<!--\n" . $this->debug_str . "\n-->";
2793 }
2794 $this->outgoing_headers[] = "Server: $this->title Server v$this->version";
2795 ereg('\$Revisio' . 'n: ([^ ]+)', $this->revision, $rev);
2796 $this->outgoing_headers[] = "X-SOAP-Server: $this->title/$this->version (".$rev[1].")";
2797 // Let the Web server decide about this
2798 //$this->outgoing_headers[] = "Connection: Close\r\n";
2799 $this->outgoing_headers[] = "Content-Type: text/xml; charset=$this->soap_defencoding";
2800 //begin code to compress payload - by John
2801 if (strlen($payload) > 1024 && isset($this->headers) && isset($this->headers['Accept-Encoding'])) {
2802 if (strstr($this->headers['Accept-Encoding'], 'deflate')) {
2803 if (function_exists('gzcompress')) {
2804 if (isset($this->debug_flag) && $this->debug_flag) {
2805 $payload .= "<!-- Content being deflated -->";
2806 }
2807 $this->outgoing_headers[] = "Content-Encoding: deflate";
2808 $payload = gzcompress($payload);
2809 } else {
2810 if (isset($this->debug_flag) && $this->debug_flag) {
2811 $payload .= "<!-- Content will not be deflated: no gzcompress -->";
2812 }
2813 }
2814 } else if (strstr($this->headers['Accept-Encoding'], 'gzip')) {
2815 if (function_exists('gzencode')) {
2816 if (isset($this->debug_flag) && $this->debug_flag) {
2817 $payload .= "<!-- Content being gzipped -->";
2818 }
2819 $this->outgoing_headers[] = "Content-Encoding: gzip";
2820 $payload = gzencode($payload);
2821 } else {
2822 if (isset($this->debug_flag) && $this->debug_flag) {
2823 $payload .= "<!-- Content will not be gzipped: no gzencode -->";
2824 }
2825 }
2826 }
2827 }
2828 //end code
2829 $this->outgoing_headers[] = "Content-Length: ".strlen($payload);
2830 reset($this->outgoing_headers);
2831 foreach($this->outgoing_headers as $hdr){
2832 header($hdr, false);
2833 }
2834 $this->response = join("\r\n",$this->outgoing_headers)."\r\n".$payload;
2835 print $payload;
2836 }
if(! $in) print

References $responseSOAP, nusoap_base\debug(), fault(), and print.

Referenced by service().

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

◆ serialize_return()

soap_server::serialize_return ( )

serializes the return value from a PHP function into a full SOAP Envelope

The following fields are set by this function (when successful)

responseSOAP

This sets the fault field on error

@access private

Reimplemented from nusoap_server.

Definition at line 2702 of file nusoap.php.

2702 {
2703 $this->debug("Entering serialize_return");
2704 // if we got nothing back. this might be ok (echoVoid)
2705 if(isset($this->methodreturn) && ($this->methodreturn != '' || is_bool($this->methodreturn))) {
2706 // if fault
2707 if(get_class($this->methodreturn) == 'soap_fault'){
2708 $this->debug('got a fault object from method');
2709 $this->fault = $this->methodreturn;
2710 return;
2711 } elseif ($this->methodreturnisliteralxml) {
2712 $return_val = $this->methodreturn;
2713 // returned value(s)
2714 } else {
2715 $this->debug('got a(n) '.gettype($this->methodreturn).' from method');
2716 $this->debug('serializing return value');
2717 if($this->wsdl){
2718 // weak attempt at supporting multiple output params
2719 if(sizeof($this->opData['output']['parts']) > 1){
2720 $opParams = $this->methodreturn;
2721 } else {
2722 // TODO: is this really necessary?
2723 $opParams = array($this->methodreturn);
2724 }
2725 $return_val = $this->wsdl->serializeRPCParameters($this->methodname,'output',$opParams);
2726 if($errstr = $this->wsdl->getError()){
2727 $this->debug('got wsdl error: '.$errstr);
2728 $this->fault('Server', 'got wsdl error: '.$errstr);
2729 return;
2730 }
2731 } else {
2732 $return_val = $this->serialize_val($this->methodreturn, 'return');
2733 }
2734 }
2735 $this->debug('return val: '.$this->varDump($return_val));
2736 } else {
2737 $return_val = '';
2738 $this->debug('got no response from method');
2739 }
2740 $this->debug('serializing response');
2741 if ($this->wsdl) {
2742 if ($this->opData['style'] == 'rpc') {
2743 $payload = '<ns1:'.$this->methodname.'Response xmlns:ns1="'.$this->methodURI.'">'.$return_val.'</ns1:'.$this->methodname."Response>";
2744 } else {
2745 $payload = $return_val;
2746 }
2747 } else {
2748 $payload = '<ns1:'.$this->methodname.'Response xmlns:ns1="'.$this->methodURI.'">'.$return_val.'</ns1:'.$this->methodname."Response>";
2749 }
2750 $this->result = 'successful';
2751 if($this->wsdl){
2752 //if($this->debug_flag){
2753 $this->debug("WSDL debug data:\n".$this->wsdl->debug_str);
2754 // }
2755 // Added: In case we use a WSDL, return a serialized env. WITH the usedNamespaces.
2756 $this->responseSOAP = $this->serializeEnvelope($payload,$this->responseHeaders,$this->wsdl->usedNamespaces,$this->opData['style']);
2757 } else {
2758 $this->responseSOAP = $this->serializeEnvelope($payload,$this->responseHeaders);
2759 }
2760 $this->debug("Leaving serialize_return");
2761 }
serialize_val($val, $name=false, $type=false, $name_ns=false, $type_ns=false, $attributes=false, $use='encoded')
Definition: nusoap.php:212
getError()
returns error string if present
Definition: nusoap.php:171
serializeEnvelope($body, $headers=false, $namespaces=array(), $style='rpc', $use='encoded')
serialize message
Definition: nusoap.php:417
serializeRPCParameters($operation, $direction, $parameters)
serialize a PHP value according to a WSDL message definition
Definition: nusoap.php:3870

References $methodreturn, nusoap_base\debug(), fault(), nusoap_base\getError(), nusoap_base\serialize_val(), nusoap_base\serializeEnvelope(), wsdl\serializeRPCParameters(), and nusoap_base\varDump().

Referenced by service().

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

◆ service()

soap_server::service (   $data)

processes request and returns response

Parameters
string$datausually is the value of $HTTP_RAW_POST_DATA @access public

Reimplemented from nusoap_server.

Definition at line 2399 of file nusoap.php.

2399 {
2400 global $QUERY_STRING;
2401 if(isset($_SERVER['QUERY_STRING'])){
2402 $qs = $_SERVER['QUERY_STRING'];
2403 } elseif(isset($GLOBALS['QUERY_STRING'])){
2404 $qs = $GLOBALS['QUERY_STRING'];
2405 } elseif(isset($QUERY_STRING) && $QUERY_STRING != ''){
2406 $qs = $QUERY_STRING;
2407 }
2408
2409 if(isset($qs) && ereg('wsdl', $qs) ){
2410 // This is a request for WSDL
2411 if($this->externalWSDLURL){
2412 if (strpos($this->externalWSDLURL,"://")!==false) { // assume URL
2413 header('Location: '.$this->externalWSDLURL);
2414 } else { // assume file
2415 header("Content-Type: text/xml\r\n");
2416 $fp = fopen($this->externalWSDLURL, 'r');
2417 fpassthru($fp);
2418 }
2419 } else {
2420 header("Content-Type: text/xml; charset=ISO-8859-1\r\n");
2421 print $this->wsdl->serialize();
2422 }
2423 } elseif($data == '' && $this->wsdl){
2424 // print web interface
2425 print $this->webDescription();
2426 } else {
2427 // handle the request
2428 $this->parse_request($data);
2429 if (! $this->fault) {
2430 $this->invoke_method();
2431 }
2432 if (! $this->fault) {
2433 $this->serialize_return();
2434 }
2435 $this->send_response();
2436 }
2437 }
serialize_return()
serializes the return value from a PHP function into a full SOAP Envelope
Definition: nusoap.php:2702
send_response()
sends an HTTP response
Definition: nusoap.php:2773
parse_request($data='')
parses a request
Definition: nusoap.php:2567
webDescription()
prints html description of services
Definition: nusoap.php:2935
invoke_method()
invokes a PHP function for the requested SOAP method
Definition: nusoap.php:2634
serialize()
serialize the parsed wsdl
Definition: nusoap.php:3741

References $_SERVER, $data, $GLOBALS, fault(), invoke_method(), parse_request(), print, send_response(), wsdl\serialize(), serialize_return(), and webDescription().

+ Here is the call graph for this function:

◆ soap_server()

soap_server::soap_server (   $wsdl = false)
constructor

the optional parameter is a path to a WSDL file that you'd like to bind the server instance to.

Parameters
mixed$wsdlfile path or URL (string), or wsdl instance (object) @access public

Definition at line 2346 of file nusoap.php.

2346 {
2347
2348 // turn on debugging?
2349 global $debug;
2350 global $_REQUEST;
2351 global $_SERVER;
2352 global $HTTP_SERVER_VARS;
2353
2354 if (isset($debug)) {
2355 $this->debug_flag = $debug;
2356 } else if (isset($_REQUEST['debug'])) {
2357 $this->debug_flag = $_REQUEST['debug'];
2358 } else if (isset($_SERVER['QUERY_STRING'])) {
2359 $qs = explode('&', $_SERVER['QUERY_STRING']);
2360 foreach ($qs as $v) {
2361 if (substr($v, 0, 6) == 'debug=') {
2362 $this->debug_flag = substr($v, 6);
2363 }
2364 }
2365 } else if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
2366 $qs = explode('&', $HTTP_SERVER_VARS['QUERY_STRING']);
2367 foreach ($qs as $v) {
2368 if (substr($v, 0, 6) == 'debug=') {
2369 $this->debug_flag = substr($v, 6);
2370 }
2371 }
2372 }
2373
2374 // wsdl
2375 if($wsdl){
2376 if (is_object($wsdl) && is_a($wsdl, 'wsdl')) {
2377 $this->wsdl = $wsdl;
2378 $this->externalWSDLURL = $this->wsdl->wsdl;
2379 $this->debug('Use existing wsdl instance from ' . $this->externalWSDLURL);
2380 } else {
2381 $this->debug('Create wsdl from ' . $wsdl);
2382 $this->wsdl = new wsdl($wsdl);
2383 $this->externalWSDLURL = $wsdl;
2384 }
2385 $this->debug("wsdl...\n" . $this->wsdl->debug_str);
2386 $this->wsdl->debug_str = '';
2387 if($err = $this->wsdl->getError()){
2388 die('WSDL ERROR: '.$err);
2389 }
2390 }
2391 }
wsdl($wsdl='', $proxyhost=false, $proxyport=false, $proxyusername=false, $proxypassword=false, $timeout=0, $response_timeout=30)
constructor
Definition: nusoap.php:3181
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7

References $_REQUEST, $_SERVER, $wsdl, nusoap_base\debug(), nusoap_base\getError(), and wsdl\wsdl().

+ Here is the call graph for this function:

◆ verify_method()

soap_server::verify_method (   $operation,
  $request 
)

takes the value that was created by parsing the request and compares to the method's signature, if available.

Parameters
mixed
Returns
boolean @access private

Reimplemented from nusoap_server.

Definition at line 2846 of file nusoap.php.

2846 {
2847 if(isset($this->wsdl) && is_object($this->wsdl)){
2848 if($this->wsdl->getOperationData($operation)){
2849 return true;
2850 }
2851 } elseif(isset($this->operations[$operation])){
2852 return true;
2853 }
2854 return false;
2855 }

References wsdl\getOperationData().

Referenced by invoke_method().

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

◆ webDescription()

soap_server::webDescription ( )

prints html description of services

@access private

Definition at line 2935 of file nusoap.php.

2935 {
2936 $b = '
2937 <html><head><title>NuSOAP: '.$this->wsdl->serviceName.'</title>
2938 <style type="text/css">
2939 body { font-family: arial; color: #000000; background-color: #ffffff; margin: 0px 0px 0px 0px; }
2940 p { font-family: arial; color: #000000; margin-top: 0px; margin-bottom: 12px; }
2941 pre { background-color: silver; padding: 5px; font-family: Courier New; font-size: x-small; color: #000000;}
2942 ul { margin-top: 10px; margin-left: 20px; }
2943 li { list-style-type: none; margin-top: 10px; color: #000000; }
2944 .content{
2945 margin-left: 0px; padding-bottom: 2em; }
2946 .nav {
2947 padding-top: 10px; padding-bottom: 10px; padding-left: 15px; font-size: .70em;
2948 margin-top: 10px; margin-left: 0px; color: #000000;
2949 background-color: #ccccff; width: 20%; margin-left: 20px; margin-top: 20px; }
2950 .title {
2951 font-family: arial; font-size: 26px; color: #ffffff;
2952 background-color: #999999; width: 105%; margin-left: 0px;
2953 padding-top: 10px; padding-bottom: 10px; padding-left: 15px;}
2954 .hidden {
2955 position: absolute; visibility: hidden; z-index: 200; left: 250px; top: 100px;
2956 font-family: arial; overflow: hidden; width: 600;
2957 padding: 20px; font-size: 10px; background-color: #999999;
2958 layer-background-color:#FFFFFF; }
2959 a,a:active { color: charcoal; font-weight: bold; }
2960 a:visited { color: #666666; font-weight: bold; }
2961 a:hover { color: cc3300; font-weight: bold; }
2962 </style>
2963 <script language="JavaScript" type="text/javascript">
2964 <!--
2965 // POP-UP CAPTIONS...
2966 function lib_bwcheck(){ //Browsercheck (needed)
2967 this.ver=navigator.appVersion
2968 this.agent=navigator.userAgent
2969 this.dom=document.getElementById?1:0
2970 this.opera5=this.agent.indexOf("Opera 5")>-1
2971 this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
2972 this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
2973 this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
2974 this.ie=this.ie4||this.ie5||this.ie6
2975 this.mac=this.agent.indexOf("Mac")>-1
2976 this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
2977 this.ns4=(document.layers && !this.dom)?1:0;
2978 this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
2979 return this
2980 }
2981 var bw = new lib_bwcheck()
2982 //Makes crossbrowser object.
2983 function makeObj(obj){
2984 this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj]:0;
2985 if(!this.evnt) return false
2986 this.css=bw.dom||bw.ie4?this.evnt.style:bw.ns4?this.evnt:0;
2987 this.wref=bw.dom||bw.ie4?this.evnt:bw.ns4?this.css.document:0;
2988 this.writeIt=b_writeIt;
2989 return this
2990 }
2991 // A unit of measure that will be added when setting the position of a layer.
2992 //var px = bw.ns4||window.opera?"":"px";
2993 function b_writeIt(text){
2994 if (bw.ns4){this.wref.write(text);this.wref.close()}
2995 else this.wref.innerHTML = text
2996 }
2997 //Shows the messages
2998 var oDesc;
2999 function popup(divid){
3000 if(oDesc = new makeObj(divid)){
3001 oDesc.css.visibility = "visible"
3002 }
3003 }
3004 function popout(){ // Hides message
3005 if(oDesc) oDesc.css.visibility = "hidden"
3006 }
3007 //-->
3008 </script>
3009 </head>
3010 <body>
3011 <div class=content>
3012 <br><br>
3013 <div class=title>'.$this->wsdl->serviceName.'</div>
3014 <div class=nav>
3015 <p>View the <a href="'.(isset($GLOBALS['PHP_SELF']) ? $GLOBALS['PHP_SELF'] : $_SERVER['PHP_SELF']).'?wsdl">WSDL</a> for the service.
3016 Click on an operation name to view it&apos;s details.</p>
3017 <ul>';
3018 foreach($this->wsdl->getOperations() as $op => $data){
3019 $b .= "<li><a href='#' onclick=\"popup('$op')\">$op</a></li>";
3020 // create hidden div
3021 $b .= "<div id='$op' class='hidden'>
3022 <a href='#' onclick='popout()'><font color='#ffffff'>Close</font></a><br><br>";
3023 foreach($data as $donnie => $marie){ // loop through opdata
3024 if($donnie == 'input' || $donnie == 'output'){ // show input/output data
3025 $b .= "<font color='white'>".ucfirst($donnie).':</font><br>';
3026 foreach($marie as $captain => $tenille){ // loop through data
3027 if($captain == 'parts'){ // loop thru parts
3028 $b .= "&nbsp;&nbsp;$captain:<br>";
3029 //if(is_array($tenille)){
3030 foreach($tenille as $joanie => $chachi){
3031 $b .= "&nbsp;&nbsp;&nbsp;&nbsp;$joanie: $chachi<br>";
3032 }
3033 //}
3034 } else {
3035 $b .= "&nbsp;&nbsp;$captain: $tenille<br>";
3036 }
3037 }
3038 } else {
3039 $b .= "<font color='white'>".ucfirst($donnie).":</font> $marie<br>";
3040 }
3041 }
3042 $b .= '</div>';
3043 }
3044 $b .= '
3045 <ul>
3046 </div>
3047 </div></body></html>';
3048 return $b;
3049 }
getOperations($bindingType='soap')
returns an assoc array of operation names => operation data
Definition: nusoap.php:3649

References $_SERVER, $data, $GLOBALS, and wsdl\getOperations().

Referenced by service().

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

Field Documentation

◆ $debug_flag

soap_server::$debug_flag = false

Definition at line 2337 of file nusoap.php.

◆ $document

soap_server::$document = ''

Definition at line 2317 of file nusoap.php.

◆ $externalWSDLURL

soap_server::$externalWSDLURL = false

Definition at line 2336 of file nusoap.php.

◆ $fault

soap_server::$fault = false

Definition at line 2331 of file nusoap.php.

◆ $headers

soap_server::$headers = array()

Definition at line 2314 of file nusoap.php.

◆ $methodname

soap_server::$methodname = ''

Definition at line 2320 of file nusoap.php.

Referenced by add_to_map(), and invoke_method().

◆ $methodparams

soap_server::$methodparams = array()

Definition at line 2321 of file nusoap.php.

◆ $methodreturn

soap_server::$methodreturn = false

Definition at line 2329 of file nusoap.php.

Referenced by serialize_return().

◆ $methodreturnisliteralxml

soap_server::$methodreturnisliteralxml = false

Definition at line 2330 of file nusoap.php.

◆ $methodURI

soap_server::$methodURI = ''

Definition at line 2319 of file nusoap.php.

◆ $operations

soap_server::$operations = array()

Definition at line 2334 of file nusoap.php.

◆ $outgoing_headers

soap_server::$outgoing_headers = array()

Definition at line 2325 of file nusoap.php.

◆ $request

soap_server::$request = ''

Definition at line 2315 of file nusoap.php.

◆ $requestHeaders

soap_server::$requestHeaders = ''

Definition at line 2316 of file nusoap.php.

◆ $requestSOAP

soap_server::$requestSOAP = ''

Definition at line 2318 of file nusoap.php.

◆ $response

soap_server::$response = ''

Definition at line 2326 of file nusoap.php.

◆ $responseHeaders

soap_server::$responseHeaders = ''

Definition at line 2327 of file nusoap.php.

◆ $responseSOAP

soap_server::$responseSOAP = ''

Definition at line 2328 of file nusoap.php.

Referenced by send_response().

◆ $result

soap_server::$result = 'successful'

Definition at line 2332 of file nusoap.php.

◆ $SOAPAction

soap_server::$SOAPAction = ''

Definition at line 2323 of file nusoap.php.

◆ $wsdl

soap_server::$wsdl = false

Definition at line 2335 of file nusoap.php.

Referenced by soap_server().

◆ $xml_encoding

soap_server::$xml_encoding = ''

Definition at line 2322 of file nusoap.php.


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