xref: /PHP-8.3/ext/soap/tests/bugs/gh16259.phpt (revision 71222f79)
1--TEST--
2GH-16259 (Soap segfault when classmap instantiation fails)
3--EXTENSIONS--
4soap
5--FILE--
6<?php
7abstract class CT_A1 {
8}
9class CT_A2 extends CT_A1 {
10}
11
12$classMap = array("A1" => "CT_A1", "A2" => "CT_A2");
13$client = new SoapClient(__DIR__."/bug36575.wsdl", array("trace" => 1, "exceptions" => 0));
14$a2 = new CT_A2();
15$client->test($a2);
16$soapRequest = $client->__getLastRequest();
17
18$server = new SoapServer(__DIR__."/bug36575.wsdl", array("classmap" => $classMap));
19$server->handle($soapRequest);
20?>
21--EXPECT--
22<?xml version="1.0" encoding="UTF-8"?>
23<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Cannot instantiate abstract class CT_A1</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
24