19declare(strict_types=1);
25 public const SERVICE_NAME =
'ILIAS SOAP Dummy Authentication Server';
28 public function __construct(
private readonly
bool $use_wsdl =
true)
45 return strcasecmp(
$_SERVER[
'REQUEST_METHOD'] ??
'',
'POST') === 0;
54 $soap_server = new \SoapServer(
null, [
55 'uri' => self::SERVICE_NAMESPACE,
59 $soap_server->handle();
66 $post_data = file_get_contents(
'php://input');
73 require_once __DIR__ .
'/../../soap/lib/nusoap.php';
75 $server->class = SoapDummyAuthHandler::class;
77 if ($this->use_wsdl) {
89 $scheme = $https ?
'https' :
'http';
90 $host =
$_SERVER[
'HTTP_HOST'] ??
'localhost';
91 $script =
$_SERVER[
'SCRIPT_NAME'] ??
'';
93 return $scheme .
'://' . $host . $script;
98 $server->configureWSDL(self::SERVICE_NAME, self::SERVICE_NAMESPACE);
112 [[
'ref' =>
'SOAP-ENC:arrayType',
'wsdl:arrayType' =>
'xsd:int[]']],
123 [[
'ref' =>
'SOAP-ENC:arrayType',
'wsdl:arrayType' =>
'xsd:string[]']],
130 'ext_uid' =>
'xsd:string',
131 'soap_pw' =>
'xsd:string',
132 'new_user' =>
'xsd:boolean'
135 'valid' =>
'xsd:boolean',
136 'firstname' =>
'xsd:string',
137 'lastname' =>
'xsd:string',
138 'email' =>
'xsd:string'
140 self::SERVICE_NAMESPACE,
141 self::SERVICE_NAMESPACE .
'#isValidSession',
144 'Dummy Session Validation'
@phpstan-type ValidationResult array{firstname: string, lastname: string, email: string,...
__construct(private readonly bool $use_wsdl=true)
enableWSDL(\soap_server $server)
registerNusoapMethods(\soap_server $server)
handleNativeSoapRequest()
exit
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...