note 99168 deleted from class.soapserver by danbrown
| From: | danbrown@php.net | Date: | Sun, 01 Aug 2010 14:05:21 +0000 |
| Subject: | note 99168 deleted from class.soapserver by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-171312@lists.php.net to get a copy of this message | ||
Note Submitter: Ralph Ritoch
----
Is this a bug? PHP seems to be using the name attribute of the wsdl:part element in the wsdl:message
elements as the name for the root element in the message.
The name attribute for the wsdl:part element is used by the soap:header and soap:body bindings
(wsdl:binding) to identify a wsdl:message part which must be included in the request or response. It
seems from the WSDL specifications the element name for the message should be determined by an
xsd:element in the wsdl:types.
To make the WSDL compatible with other systems it seems that you have to set the part name to the
name of the attribute, so you end up with something like this.
<message name="ExampleMethodRequest">
<part name="ExampleMethodRequest" element="tns:ExampleMethodRequest"/>
</message>
When this works with other systems and is more readable.
<message name="ExampleMethodRequest">
<part name="request" element="tns:ExampleMethodRequest"/>
</message>
Where tns:ExampleMethodRequest refers to an element
defined in the wsdl:types schema.