CGI Error with sopenc:array in WSDL
| From: | LEBUR Guillaume | Date: | Fri, 27 May 2005 08:56:27 +0000 |
| Subject: | CGI Error with sopenc:array in WSDL | ||
| Groups: | php.soap | ||
| Request: | Send a blank email to php-soap+get-1919@lists.php.net to get a copy of this message | ||
Hi,
Here's an excerpt of my WSDL file :
<types><xsd:schema elementFormDefault="qualified"
targetNamespace="urn:cms">
<xsd:complexType name="Rubrique">
<xsd:all>
<xsd:element name="id_rubrique" type="xsd:string" />
<xsd:element name="nom" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="Rubriques">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType"
wsdl:arrayType="cms:Rubrique[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
....
<service name="cmsserver">
<port name="cmsserverPort" binding="tns:cmsserverBinding">
<soap:address
location="http://localhost/cms_test/backend/webservice/webservice.php"/>
</port>
</service>
....
When calling the webservice.php script, I get a php-cgi "memory cannot
be read" error window and the page in my browser displays a CGI error :
"The specified CGI application misbehaved by not returning a complete
set of HTTP headers"
It seems that the "Rubriques" complexType is in cause, since if I
comment it out, the error no longer occurs.
I must add that the problem has nothing to do with the link between that
complexType and a request or response parameter, because if I change its
name (so that it doesn't correspond with the types of the request or
response parameters), the error message is still there.
So I guess the SOAP server has a problem parsing this very complexType,
and more precisely with <xsd:restriction base="soapenc:Array"> since
when I remove it and its contents, I get no error message.
Is there a known problem with the PHP SOAP server functions and the
"soapenc:Array" type ?
Thanks in advance,
Guillaume