xref: /PHP-7.4/ext/soap/tests/bugs/bug28751.phpt (revision 162aa1a5)
1--TEST--
2Bug #28751 (SoapServer does not call _autoload())
3--SKIPIF--
4<?php require_once('skipif.inc'); ?>
5--FILE--
6<?php
7spl_autoload_register(function ($className) {
8	class SoapServerActions {
9    function test() {
10      return "Hello World";
11    }
12	}
13});
14
15$server = new SoapServer(NULL, array('uri'=>"http://testuri.org"));
16$server->setClass("SoapServerActions");
17
18$HTTP_RAW_POST_DATA = <<<EOF
19<?xml version="1.0" encoding="ISO-8859-1"?>
20<SOAP-ENV:Envelope
21  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
22  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
23  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
24  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25  xmlns:si="http://soapinterop.org/xsd">
26  <SOAP-ENV:Body>
27    <ns1:test xmlns:ns1="http://testuri.org" />
28  </SOAP-ENV:Body>
29</SOAP-ENV:Envelope>
30EOF;
31
32$server->handle($HTTP_RAW_POST_DATA);
33echo "ok\n";
34?>
35--EXPECT--
36<?xml version="1.0" encoding="UTF-8"?>
37<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
38ok
39