1--TEST-- 2Bug #69280 (SoapClient classmap doesn't support fully qualified class name) 3--EXTENSIONS-- 4soap 5--INI-- 6soap.wsdl_cache_enabled=0 7--CREDITS-- 8champetier dot etienne at gmail dot com 9--FILE-- 10<?php 11abstract class AbstractClass { 12 public $prop; 13} 14 15class RealClass1 extends AbstractClass { 16 public $prop1; 17} 18 19class TestWS extends \SoapClient { 20 public function TestMethod($parameters) { 21 return $this->__soapCall('TestMethod', [$parameters], [ 22 'uri' => 'http://tempuri.org/', 23 'soapaction' => '' 24 ] 25 ); 26 } 27 28 public function __doRequest(string $request, string $location, string $action, int $version, bool $oneWay = false): ?string { 29 die($request); 30 } 31} 32 33$a = new TestWS(__DIR__ . '/bug69280.wsdl', ['classmap' => [ 34 'AbstractClass' => '\AbstractClass', 35 'RealClass1' => '\RealClass1', 36]]); 37$r1 = new \RealClass1(); 38$r1->prop = "prop"; 39$r1->prop1 = "prop1"; 40$a->TestMethod($r1); 41?> 42--EXPECT-- 43<?xml version="1.0" encoding="UTF-8"?> 44<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><parameters xsi:type="ns1:RealClass1"><ns1:prop>prop</ns1:prop><ns1:prop1>prop1</ns1:prop1></parameters></SOAP-ENV:Body></SOAP-ENV:Envelope> 45