- Timestamp:
- 2011/10/31 13:54:41 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_11-dev/data/module/SOAP/example/server2.php
r21299 r21304 1 1 <?php 2 /** 3 * Server endpoint. 4 * 5 * PHP versions 4 and 5 6 * 7 * LICENSE: This source file is subject to version 2.02 of the PHP license, 8 * that is bundled with this package in the file LICENSE, and is available at 9 * through the world-wide-web at http://www.php.net/license/2_02.txt. If you 10 * did not receive a copy of the PHP license and are unable to obtain it 11 * through the world-wide-web, please send a note to license@php.net so we can 12 * mail you a copy immediately. 13 * 14 * @category Web Services 15 * @package SOAP 16 * @author Shane Caraveo <Shane@Caraveo.com> Port to PEAR and more 17 * @author Jan Schneider <jan@horde.org> Maintenance 18 * @copyright 2003-2007 The PHP Group 19 * @license http://www.php.net/license/2_02.txt PHP License 2.02 20 * @link http://pear.php.net/package/SOAP 21 */ 2 // 3 // +----------------------------------------------------------------------+ 4 // | PHP Version 4 | 5 // +----------------------------------------------------------------------+ 6 // | Copyright (c) 1997-2003 The PHP Group | 7 // +----------------------------------------------------------------------+ 8 // | This source file is subject to version 2.02 of the PHP license, | 9 // | that is bundled with this package in the file LICENSE, and is | 10 // | available at through the world-wide-web at | 11 // | http://www.php.net/license/2_02.txt. | 12 // | If you did not receive a copy of the PHP license and are unable to | 13 // | obtain it through the world-wide-web, please send a note to | 14 // | license@php.net so we can mail you a copy immediately. | 15 // +----------------------------------------------------------------------+ 16 // | Authors: Shane Caraveo <Shane@Caraveo.com> | 17 // +----------------------------------------------------------------------+ 18 // 19 // $Id: server2.php,v 1.3 2005/03/10 23:16:40 yunosh Exp $ 20 // 22 21 23 / * First, include the SOAP_Server class. */22 // first, include the SOAP/Server class 24 23 require_once 'SOAP/Server.php'; 24 25 25 $server = new SOAP_Server; 26 27 /* Tell server to translate to classes we provide if possible. */ 26 /* tell server to translate to classes we provide if possible */ 28 27 $server->_auto_translation = true; 29 28 30 /* This is a simple example of implementing a custom call handler. If you do 31 * this, the SOAP server will ignore objects or functions added to it, and 32 * will call your handler for **ALL** SOAP calls the server receives, whether 33 * the call is defined in your WSDL or not. The handler receives two 34 * arguments, the method name being called, and the arguments sent for that 35 * call. */ 29 /* This is a simple example of implementing a custom 30 call handler. If you do this, the soap server will ignore 31 objects or functions added to it, and will call your handler 32 for **ALL** soap calls the server receives, wether the call 33 is defined in your WSDL or not. The handler receives two 34 arguments, the method name being called, and the arguments 35 sent for that call. 36 */ 36 37 function myCallHandler($methodname, $args) 37 38 { 38 39 global $soapclass; 39 return call_user_func_array(array($soapclass, $methodname),$args);40 return @call_user_func_array(array($soapclass, $methodname),$args); 40 41 } 41 $server->setCallHandler('myCallHandler', 42 $server->setCallHandler('myCallHandler',false); 42 43 43 require_once dirname(__FILE__) . '/example_server.php'; 44 require_once 'example_server.php'; 45 44 46 $soapclass = new SOAP_Example_Server(); 45 $server->addObjectMap($soapclass, 47 $server->addObjectMap($soapclass,'urn:SOAP_Example_Server'); 46 48 47 49 if (isset($_SERVER['REQUEST_METHOD']) && 48 $_SERVER['REQUEST_METHOD'] =='POST') {50 $_SERVER['REQUEST_METHOD']=='POST') { 49 51 $server->service($HTTP_RAW_POST_DATA); 50 52 } else { 51 53 require_once 'SOAP/Disco.php'; 52 $disco = new SOAP_DISCO_Server($server, 53 header( 'Content-type: text/xml');54 $disco = new SOAP_DISCO_Server($server,'ServerExample'); 55 header("Content-type: text/xml"); 54 56 if (isset($_SERVER['QUERY_STRING']) && 55 str pos($_SERVER['QUERY_STRING'], 'wsdl') !== false) {57 strcasecmp($_SERVER['QUERY_STRING'],'wsdl')==0) { 56 58 echo $disco->getWSDL(); 57 59 } else { 58 60 echo $disco->getDISCO(); 59 61 } 62 exit; 60 63 } 64 ?>
Note: See TracChangeset
for help on using the changeset viewer.