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 | */ |
---|
22 | |
---|
23 | /* If you want to implement Basic HTTP Authentication, uncomment the following |
---|
24 | * lines of code. */ |
---|
25 | // if (!isset($_SERVER['PHP_AUTH_USER']) || |
---|
26 | // !isset($_SERVER['PHP_AUTH_PW']) || |
---|
27 | // $_SERVER['PHP_AUTH_USER'] !== 'username' || |
---|
28 | // $_SERVER['PHP_AUTH_PW'] !== 'password') { |
---|
29 | // header('WWW-Authenticate: Basic realm="My Realm"'); |
---|
30 | // header('HTTP/1.0 401 Unauthorized'); |
---|
31 | // echo 'Not authorized!'; |
---|
32 | // exit; |
---|
33 | // } |
---|
34 | |
---|
35 | /* First, include the SOAP_Server class. */ |
---|
36 | require_once 'SOAP/Server.php'; |
---|
37 | $server = new SOAP_Server; |
---|
38 | |
---|
39 | /* Tell server to translate to classes we provide if possible. */ |
---|
40 | $server->_auto_translation = true; |
---|
41 | |
---|
42 | require_once dirname(__FILE__) . '/example_server.php'; |
---|
43 | $soapclass = new SOAP_Example_Server(); |
---|
44 | $server->addObjectMap($soapclass, 'urn:SOAP_Example_Server'); |
---|
45 | |
---|
46 | if (isset($_SERVER['REQUEST_METHOD']) && |
---|
47 | $_SERVER['REQUEST_METHOD'] == 'POST') { |
---|
48 | $server->service($HTTP_RAW_POST_DATA); |
---|
49 | } else { |
---|
50 | require_once 'SOAP/Disco.php'; |
---|
51 | $disco = new SOAP_DISCO_Server($server, 'ServerExample'); |
---|
52 | header('Content-type: text/xml'); |
---|
53 | if (isset($_SERVER['QUERY_STRING']) && |
---|
54 | strpos($_SERVER['QUERY_STRING'], 'wsdl') !== false) { |
---|
55 | echo $disco->getWSDL(); |
---|
56 | } else { |
---|
57 | echo $disco->getDISCO(); |
---|
58 | } |
---|
59 | } |
---|