Source for file example_server.php
Documentation is available at example_server.php 
// +----------------------------------------------------------------------+  
// +----------------------------------------------------------------------+  
// | Copyright (c) 1997-2003 The PHP Group                                |  
// +----------------------------------------------------------------------+  
// | This source file is subject to version 2.02 of the PHP license,      |  
// | that is bundled with this package in the file LICENSE, and is        |  
// | available at through the world-wide-web at                           |  
// | http://www.php.net/license/2_02.txt.                                 |  
// | If you did not receive a copy of the PHP license and are unable to   |  
// | obtain it through the world-wide-web, please send a note to          |  
// | license@php.net so we can mail you a copy immediately.               |  
// +----------------------------------------------------------------------+  
// | Authors: Shane Caraveo <Shane@Caraveo.com>                           |  
// +----------------------------------------------------------------------+  
// $Id: example_server.php,v 1.5 2005/03/10 23:16:40 yunosh Exp $  
// first, include the SOAP/Server class  
require_once 'SOAP/Value.php';   
require_once 'SOAP/Fault.php';   
// SOAPStruct is defined in the following file  
require_once 'example_types.php';   
// create a class for your soap functions  
class SOAP_Example_Server  {  
     * The dispactch map does not need to be used, but aids  
     * the server class in knowing what parameters are used  
     * with the functions.  This is the ONLY way to have  
     * multiple OUT parameters.  If you use a dispatch map, you  
     * MUST add ALL functions you wish to allow be called.  If  
     * you do not use a dispatch map, then any public function  
     * can be called from soap (in php4, we consider this to be  
     * any function in the class unless it starts with underscore,  
     * php5 support is not complete yet in this regard).  
     * if you do not define in/out parameters, the function can be  
     * called with parameters, but no validation on parameters will  
    var $__dispatch_map = array ();   
    function SOAP_Example_Server () {  
        * when generating wsdl for a server, you have to define  
        * any special complex types that you use (ie classes).  
        * using a namespace id before the type will create an  
        * xml schema with the targetNamespace for the type  
        * multiple types with the same namespace will appear  
        * in the same schema section.  types with different  
        * namespaces will be in seperate schema sections.  
        * the following SOAPStruct typedef cooresponds to the  
        * SOAPStruct class above.  
        $this->__typedef['{http://soapinterop.org/xsd}SOAPStruct'] =    
        // an aliased function with multiple out parameters  
    $this->__dispatch_map['echoStructAsSimpleTypes'] =   
        array ('in' => array ('inputStruct' =>  '{http://soapinterop.org/xsd}SOAPStruct'), 
              'out' => array ('outputString' =>  'string', 'outputInteger' =>  'int', 'outputFloat' =>  'float'),  
              'alias' =>  'myEchoStructAsSimpleTypes'  
    $this->__dispatch_map['echoStringSimple'] =   
        array ('in' => array ('inputStringSimple' =>  'string'), 
              'out' => array ('outputStringSimple' =>  'string'),  
    $this->__dispatch_map['echoString'] =   
        array ('in' => array ('inputString' =>  'string'), 
              'out' => array ('outputString' =>  'string'),  
    $this->__dispatch_map['divide'] =   
        array ('in' => array ('dividend' =>  'int', 'divisor' =>  'int'), 
              'out' => array ('outputFloat' =>  'float'),  
    $this->__dispatch_map['echoStruct'] =   
        array ('in' => array ('inputStruct' =>  '{http://soapinterop.org/xsd}SOAPStruct'), 
              'out' => array ('outputStruct' =>  '{http://soapinterop.org/xsd}SOAPStruct'),  
    $this->__dispatch_map['echoMimeAttachment'] = array ();   
    /* this private function is called on by SOAP_Server to determine any  
        special dispatch information that might be necessary.  This, for example,  
        can be used to set up a dispatch map for functions that return multiple  
    function __dispatch ($methodname) {  
        if (isset ($this->__dispatch_map[$methodname]))  
            return $this->__dispatch_map[$methodname];   
    // a simple echoString function  
    function echoStringSimple ($inputString)  
    // an explicit echostring function  
    function echoString ($inputString)  
    return new  SOAP_Value('outputString','string',$inputString);   
    function divide ($dividend, $divisor)  
        // the soap server would normally catch errors like this  
        // and return a fault, but this is how you do it yourself.  
            return new  SOAP_Fault('You cannot divide by zero', 'Client');   
            return $dividend /  $divisor;   
    function echoStruct ($inputStruct)  
        return $inputStruct->__to_soap ('outputStruct');   
    #return new SOAP_Value('outputStruct','{http://soapinterop.org/xsd}SOAPStruct',$inputStruct);  
     * echoStructAsSimpleTypes  
     * takes a SOAPStruct as input, and returns each of its elements  
     * this function is also aliased so you have to call it with  
     * echoStructAsSimpleTypes  
     * SOAPStruct is defined as:  
    function myEchoStructAsSimpleTypes ($struct)  
    # convert a SOAPStruct to an array  
        new  SOAP_Value('outputString','string',$struct->varString ), 
        new  SOAP_Value('outputInteger','int',$struct->varInt ), 
        new  SOAP_Value('outputFloat','float',$struct->varFloat ) 
    function echoMimeAttachment ($stuff)  
        return new  SOAP_Attachment('return','application/octet-stream',NULL ,$stuff);   
 
 
        
		    
 
		    Documentation generated on Mon, 11 Mar 2019 14:39:06 -0400 by  phpDocumentor 1.4.4. PEAR Logo Copyright ©  PHP Group 2004.
	        
       |