mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
There's a hash table that maps type names to class name, but names with a leading backslash are not supported. The engine has logic to strip away the leading backslash that we should replicate here. It works by checking if we need to make an actual copy in case an unexpected (e.g. invalid data or leading backslash) situations are detected. Upon making a copy we normalize the data in the table. Furthermore, previously the code assumed that the key was always valid and that the structure was a non-packed hash table. This isn't necessarily the case. The new code fixes this as well. Closes GH-14398.
47 lines
1.9 KiB
XML
47 lines
1.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:s0="http://tempuri.org/" name="TestWS" targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
|
|
<types>
|
|
<xs:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
<xs:complexType name="AbstractClass">
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" maxOccurs="1" name="prop" type="xs:string" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="RealClass1">
|
|
<xs:complexContent mixed="false">
|
|
<xs:extension base="s0:AbstractClass">
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" maxOccurs="1" name="prop1" type="xs:string" />
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
</xs:schema>
|
|
</types>
|
|
<message name="TestMethodSoapIn">
|
|
<part name="parameters" element="RealClass1" />
|
|
</message>
|
|
<portType name="TestWSSoap">
|
|
<operation name="TestMethod">
|
|
<input message="s0:TestMethodSoapIn" />
|
|
</operation>
|
|
</portType>
|
|
<binding name="TestWSSoap" type="s0:TestWSSoap">
|
|
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
|
<operation name="TestMethod">
|
|
<soap:operation soapAction="http://tempuri.org/TestMethod" style="document" />
|
|
<input>
|
|
<soap:body use="literal" />
|
|
</input>
|
|
<output>
|
|
<soap:body use="literal" />
|
|
</output>
|
|
</operation>
|
|
</binding>
|
|
<service name="TestWS">
|
|
<port name="TestWSSoap" binding="s0:TestWSSoap">
|
|
<soap:address location="http://tempuri.org/" />
|
|
</port>
|
|
</service>
|
|
</definitions>
|