#28985 [Asn]: __getTypes() returning nothing on complex WSDL
| From: | jp dot gouigoux at free dot fr | Date: | Mon, 12 Jul 2004 06:47:54 +0000 |
| Subject: | #28985 [Asn]: __getTypes() returning nothing on complex WSDL | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-62079@lists.php.net to get a copy of this message | ||
ID: 28985
User updated by: jp dot gouigoux at free dot fr
Reported By: jp dot gouigoux at free dot fr
Status: Assigned
Bug Type: SOAP related
Operating System: Win2000
PHP Version: 5.0.0RC3
Assigned To: dmitry
New Comment:
Here is the first WSDL (the one that works fine):
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://tempuri.org/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://tempuri.org/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified"
targetNamespace="http://tempuri.org/">
<s:element name="Coucou">
<s:complexType />
</s:element>
<s:element name="CoucouResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="CoucouResult"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RenvoiSimple">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="texte"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RenvoiSimpleResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="RenvoiSimpleResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="StoreInSession">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="valeur"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="StoreInSessionResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1"
name="StoreInSessionResult" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RetrieveFromSession">
<s:complexType />
</s:element>
<s:element name="RetrieveFromSessionResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="RetrieveFromSessionResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RetrieveSessionId">
<s:complexType />
</s:element>
<s:element name="RetrieveSessionIdResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="RetrieveSessionIdResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
<message name="CoucouSoapIn">
<part name="parameters" element="s0:Coucou" />
</message>
<message name="CoucouSoapOut">
<part name="parameters" element="s0:CoucouResponse" />
</message>
<message name="RenvoiSimpleSoapIn">
<part name="parameters" element="s0:RenvoiSimple" />
</message>
<message name="RenvoiSimpleSoapOut">
<part name="parameters" element="s0:RenvoiSimpleResponse" />
</message>
<message name="StoreInSessionSoapIn">
<part name="parameters" element="s0:StoreInSession" />
</message>
<message name="StoreInSessionSoapOut">
<part name="parameters" element="s0:StoreInSessionResponse" />
</message>
<message name="RetrieveFromSessionSoapIn">
<part name="parameters" element="s0:RetrieveFromSession" />
</message>
<message name="RetrieveFromSessionSoapOut">
<part name="parameters" element="s0:RetrieveFromSessionResponse"
/>
</message>
<message name="RetrieveSessionIdSoapIn">
<part name="parameters" element="s0:RetrieveSessionId" />
</message>
<message name="RetrieveSessionIdSoapOut">
<part name="parameters" element="s0:RetrieveSessionIdResponse" />
</message>
<portType name="Service1Soap">
<operation name="Coucou">
<input message="s0:CoucouSoapIn" />
<output message="s0:CoucouSoapOut" />
</operation>
<operation name="RenvoiSimple">
<input message="s0:RenvoiSimpleSoapIn" />
<output message="s0:RenvoiSimpleSoapOut" />
</operation>
<operation name="StoreInSession">
<input message="s0:StoreInSessionSoapIn" />
<output message="s0:StoreInSessionSoapOut" />
</operation>
<operation name="RetrieveFromSession">
<input message="s0:RetrieveFromSessionSoapIn" />
<output message="s0:RetrieveFromSessionSoapOut" />
</operation>
<operation name="RetrieveSessionId">
<input message="s0:RetrieveSessionIdSoapIn" />
<output message="s0:RetrieveSessionIdSoapOut" />
</operation>
</portType>
<binding name="Service1Soap" type="s0:Service1Soap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
<operation name="Coucou">
<soap:operation soapAction="http://tempuri.org/Coucou"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="RenvoiSimple">
<soap:operation soapAction="http://tempuri.org/RenvoiSimple"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="StoreInSession">
<soap:operation soapAction="http://tempuri.org/StoreInSession"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="RetrieveFromSession">
<soap:operation
soapAction="http://tempuri.org/RetrieveFromSession"
style="document"
/>
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="RetrieveSessionId">
<soap:operation soapAction="http://tempuri.org/RetrieveSessionId"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="Service1">
<port name="Service1Soap" binding="s0:Service1Soap">
<soap:address
location="http://gouigoux-jp/TestPHPSoap/Service1.asmx"
/>
</port>
</service>
</definitions>
And here is the second one, that generates the bug:
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://tempuri.org/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://tempuri.org/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified"
targetNamespace="http://tempuri.org/">
<s:element name="LoginMGDIS">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="iUserLogin"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="iUserId"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="iUserPassword"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="iProfilId"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="LoginMGDISResponse">
<s:complexType />
</s:element>
<s:element name="GetIdentification">
<s:complexType />
</s:element>
<s:element name="GetIdentificationResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetIdentificationResult" type="s0:ArrayOfAnyType" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfAnyType">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="anyType"
nillable="true" />
</s:sequence>
</s:complexType>
<s:element name="RollbackCurrentTransaction">
<s:complexType />
</s:element>
<s:element name="RollbackCurrentTransactionResponse">
<s:complexType />
</s:element>
<s:element name="GetListeProfil">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="iUserLogin"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="iUserPassword"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="MGCodeLibelle">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Code"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Libelle"
type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Defaut"
type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="Tag" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfMGCodeLibelle">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="MGCodeLibelle" nillable="true" type="s0:MGCodeLibelle" />
</s:sequence>
</s:complexType>
<s:element name="GetListeProfilResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetListeProfilResult" type="s0:ArrayOfMGCodeLibelle" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetListeValCodif">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Code"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfMGCodif">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="MGCodif"
nillable="true" type="s0:MGCodif" />
</s:sequence>
</s:complexType>
<s:complexType name="MGCodif">
<s:complexContent mixed="false">
<s:extension base="s0:MGCodeLibelle" />
</s:complexContent>
</s:complexType>
<s:element name="GetListeValCodifResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetListeValCodifResult" type="s0:ArrayOfMGCodif" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="TestPhpSoap">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="entree"
type="s0:MGCodif" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="TestPhpSoapResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="TestPhpSoapResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetListeCodif">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1"
name="iGetListeValeur" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="MGCodifGrp">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="TypeCodif"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LibCodif"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ListeCodifs"
type="s0:ArrayOfMGCodif" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfMGCodifGrp">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="MGCodifGrp" nillable="true" type="s0:MGCodifGrp" />
</s:sequence>
</s:complexType>
<s:element name="GetListeCodifResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetListeCodifResult" type="s0:ArrayOfMGCodifGrp" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DroitCreation">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="iObjet"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="iProfil"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DroitCreationResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1"
name="DroitCreationResult" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ListeDroitCreation">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="iListeObjet"
type="s0:ArrayOfString" />
<s:element minOccurs="0" maxOccurs="1" name="iProfil"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfString">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="string"
nillable="true" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="ListeDroitCreationResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="ListeDroitCreationResult" type="s0:ArrayOfAnyType" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetDroitsObjetProtege">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="iObjet"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="iProfil"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="iUtilisateur"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="MGDroitsObjetProtege">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="LbUti"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LbProf"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LbServ"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LbDir"
type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="isProtected"
type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1"
name="ListeDroitsAcces" type="s0:ArrayOfMGDroitAcces" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfMGDroitAcces">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="MGDroitAcces" nillable="true" type="s0:MGDroitAcces" />
</s:sequence>
</s:complexType>
<s:complexType name="MGDroitAcces">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="IdProfil"
type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Lecture"
type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1"
name="Modification"
type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="Suppression"
type="s:boolean" />
</s:sequence>
</s:complexType>
<s:element name="GetDroitsObjetProtegeResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetDroitsObjetProtegeResult" type="s0:MGDroitsObjetProtege" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetPrivileges">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="iIdSupport"
type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="iIdForme"
type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="iProfil"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetPrivilegesResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetPrivilegesResult" type="s0:ArrayOfString" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetLibelleProfil">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="iIdProfil"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetLibelleProfilResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetLibelleProfilResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetValeurRecherche">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="iChampSource"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="iTable"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="iOrderByClause" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetValeurRechercheResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetValeurRechercheResult" type="s0:ArrayOfString" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetValeurRechercheWithClauseWhere">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="iChampSource"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="iTable"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="iClauseWhere"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="iOrderByClause" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetValeurRechercheWithClauseWhereResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetValeurRechercheWithClauseWhereResult" type="s0:ArrayOfString"
/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetEnvironnement">
<s:complexType />
</s:element>
<s:complexType name="MGEnvironnement">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="RepBureautique"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="RepBureautiqueImage" type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="RepBureautiqueDoc" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="GetEnvironnementResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetEnvironnementResult" type="s0:MGEnvironnement" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
<message name="LoginMGDISSoapIn">
<part name="parameters" element="s0:LoginMGDIS" />
</message>
<message name="LoginMGDISSoapOut">
<part name="parameters" element="s0:LoginMGDISResponse" />
</message>
<message name="GetIdentificationSoapIn">
<part name="parameters" element="s0:GetIdentification" />
</message>
<message name="GetIdentificationSoapOut">
<part name="parameters" element="s0:GetIdentificationResponse" />
</message>
<message name="RollbackCurrentTransactionSoapIn">
<part name="parameters" element="s0:RollbackCurrentTransaction" />
</message>
<message name="RollbackCurrentTransactionSoapOut">
<part name="parameters"
element="s0:RollbackCurrentTransactionResponse" />
</message>
<message name="GetListeProfilSoapIn">
<part name="parameters" element="s0:GetListeProfil" />
</message>
<message name="GetListeProfilSoapOut">
<part name="parameters" element="s0:GetListeProfilResponse" />
</message>
<message name="GetListeValCodifSoapIn">
<part name="parameters" element="s0:GetListeValCodif" />
</message>
<message name="GetListeValCodifSoapOut">
<part name="parameters" element="s0:GetListeValCodifResponse" />
</message>
<message name="TestPhpSoapSoapIn">
<part name="parameters" element="s0:TestPhpSoap" />
</message>
<message name="TestPhpSoapSoapOut">
<part name="parameters" element="s0:TestPhpSoapResponse" />
</message>
<message name="GetListeCodifSoapIn">
<part name="parameters" element="s0:GetListeCodif" />
</message>
<message name="GetListeCodifSoapOut">
<part name="parameters" element="s0:GetListeCodifResponse" />
</message>
<message name="DroitCreationSoapIn">
<part name="parameters" element="s0:DroitCreation" />
</message>
<message name="DroitCreationSoapOut">
<part name="parameters" element="s0:DroitCreationResponse" />
</message>
<message name="ListeDroitCreationSoapIn">
<part name="parameters" element="s0:ListeDroitCreation" />
</message>
<message name="ListeDroitCreationSoapOut">
<part name="parameters" element="s0:ListeDroitCreationResponse" />
</message>
<message name="GetDroitsObjetProtegeSoapIn">
<part name="parameters" element="s0:GetDroitsObjetProtege" />
</message>
<message name="GetDroitsObjetProtegeSoapOut">
<part name="parameters" element="s0:GetDroitsObjetProtegeResponse"
/>
</message>
<message name="GetPrivilegesSoapIn">
<part name="parameters" element="s0:GetPrivileges" />
</message>
<message name="GetPrivilegesSoapOut">
<part name="parameters" element="s0:GetPrivilegesResponse" />
</message>
<message name="GetLibelleProfilSoapIn">
<part name="parameters" element="s0:GetLibelleProfil" />
</message>
<message name="GetLibelleProfilSoapOut">
<part name="parameters" element="s0:GetLibelleProfilResponse" />
</message>
<message name="GetValeurRechercheSoapIn">
<part name="parameters" element="s0:GetValeurRecherche" />
</message>
<message name="GetValeurRechercheSoapOut">
<part name="parameters" element="s0:GetValeurRechercheResponse" />
</message>
<message name="GetValeurRechercheWithClauseWhereSoapIn">
<part name="parameters"
element="s0:GetValeurRechercheWithClauseWhere" />
</message>
<message name="GetValeurRechercheWithClauseWhereSoapOut">
<part name="parameters"
element="s0:GetValeurRechercheWithClauseWhereResponse" />
</message>
<message name="GetEnvironnementSoapIn">
<part name="parameters" element="s0:GetEnvironnement" />
</message>
<message name="GetEnvironnementSoapOut">
<part name="parameters" element="s0:GetEnvironnementResponse" />
</message>
<portType name="MGServiceNoyauNETSoap">
<operation name="LoginMGDIS">
<input message="s0:LoginMGDISSoapIn" />
<output message="s0:LoginMGDISSoapOut" />
</operation>
<operation name="GetIdentification">
<input message="s0:GetIdentificationSoapIn" />
<output message="s0:GetIdentificationSoapOut" />
</operation>
<operation name="RollbackCurrentTransaction">
<input message="s0:RollbackCurrentTransactionSoapIn" />
<output message="s0:RollbackCurrentTransactionSoapOut" />
</operation>
<operation name="GetListeProfil">
<input message="s0:GetListeProfilSoapIn" />
<output message="s0:GetListeProfilSoapOut" />
</operation>
<operation name="GetListeValCodif">
<input message="s0:GetListeValCodifSoapIn" />
<output message="s0:GetListeValCodifSoapOut" />
</operation>
<operation name="TestPhpSoap">
<input message="s0:TestPhpSoapSoapIn" />
<output message="s0:TestPhpSoapSoapOut" />
</operation>
<operation name="GetListeCodif">
<input message="s0:GetListeCodifSoapIn" />
<output message="s0:GetListeCodifSoapOut" />
</operation>
<operation name="DroitCreation">
<input message="s0:DroitCreationSoapIn" />
<output message="s0:DroitCreationSoapOut" />
</operation>
<operation name="ListeDroitCreation">
<input message="s0:ListeDroitCreationSoapIn" />
<output message="s0:ListeDroitCreationSoapOut" />
</operation>
<operation name="GetDroitsObjetProtege">
<input message="s0:GetDroitsObjetProtegeSoapIn" />
<output message="s0:GetDroitsObjetProtegeSoapOut" />
</operation>
<operation name="GetPrivileges">
<input message="s0:GetPrivilegesSoapIn" />
<output message="s0:GetPrivilegesSoapOut" />
</operation>
<operation name="GetLibelleProfil">
<input message="s0:GetLibelleProfilSoapIn" />
<output message="s0:GetLibelleProfilSoapOut" />
</operation>
<operation name="GetValeurRecherche">
<input message="s0:GetValeurRechercheSoapIn" />
<output message="s0:GetValeurRechercheSoapOut" />
</operation>
<operation name="GetValeurRechercheWithClauseWhere">
<input message="s0:GetValeurRechercheWithClauseWhereSoapIn" />
<output message="s0:GetValeurRechercheWithClauseWhereSoapOut" />
</operation>
<operation name="GetEnvironnement">
<input message="s0:GetEnvironnementSoapIn" />
<output message="s0:GetEnvironnementSoapOut" />
</operation>
</portType>
<binding name="MGServiceNoyauNETSoap"
type="s0:MGServiceNoyauNETSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
<operation name="LoginMGDIS">
<soap:operation soapAction="http://tempuri.org/LoginMGDIS"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetIdentification">
<soap:operation soapAction="http://tempuri.org/GetIdentification"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="RollbackCurrentTransaction">
<soap:operation
soapAction="http://tempuri.org/RollbackCurrentTransaction"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetListeProfil">
<soap:operation soapAction="http://tempuri.org/GetListeProfil"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetListeValCodif">
<soap:operation soapAction="http://tempuri.org/GetListeValCodif"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="TestPhpSoap">
<soap:operation soapAction="http://tempuri.org/TestPhpSoap"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetListeCodif">
<soap:operation soapAction="http://tempuri.org/GetListeCodif"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="DroitCreation">
<soap:operation soapAction="http://tempuri.org/DroitCreation"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="ListeDroitCreation">
<soap:operation
soapAction="http://tempuri.org/ListeDroitCreation"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetDroitsObjetProtege">
<soap:operation
soapAction="http://tempuri.org/GetDroitsObjetProtege"
style="document"
/>
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetPrivileges">
<soap:operation soapAction="http://tempuri.org/GetPrivileges"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetLibelleProfil">
<soap:operation soapAction="http://tempuri.org/GetLibelleProfil"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetValeurRecherche">
<soap:operation
soapAction="http://tempuri.org/GetValeurRecherche"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetValeurRechercheWithClauseWhere">
<soap:operation
soapAction="http://tempuri.org/GetValeurRechercheWithClauseWhere"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetEnvironnement">
<soap:operation soapAction="http://tempuri.org/GetEnvironnement"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="MGServiceNoyauNET">
<port name="MGServiceNoyauNETSoap"
binding="s0:MGServiceNoyauNETSoap">
<soap:address
location="http://localhost/SoapSrvSOFI/MGServiceNoyauNET.asmx"
/>
</port>
</service>
</definitions>
Thanks for the help,
JP
Previous Comments:
------------------------------------------------------------------------
[2004-07-06 09:50:24] dmitry@php.net
I cannpt reproduce the BUG.
Please, post your WSDL file here.
------------------------------------------------------------------------
[2004-07-01 17:26:16] jp dot gouigoux at free dot fr
Description:
------------
I have two web services implemented in ASP.NET: number one uses only
primitive types, number two uses arrays of specific objects. The WSDL
generated for both is valid and correct. When I use
var_dump($client->__getTypes()); for the first one, I indeed get the
generated description of objects used by the web service. As for the
second web service, nothing appears and the execution of my php page is
stopped...
Reproduce code:
---------------
$client = new
SOAPClient('http://localhost/SimpleService.asmx?WSDL',array('trace'=>1));
var_dump($client->__getTypes());
$client = new
SOAPClient('http://localhost/ComplexTypeService.asmx?WSDL',array('trace'=>1));
var_dump($client->__getTypes());
Expected result:
----------------
array(10) { [0]=> string(17) "struct Coucou { }" [1]=> string(47)
"struct CoucouResponse { string CoucouResult; }" [2]=> string(38)
"struct RenvoiSimple { string texte; }" [3]=> string(59) "struct
RenvoiSimpleResponse { string RenvoiSimpleResult; }" [4]=> string(41)
"struct StoreInSession { string valeur; }" [5]=> string(64) "struct
StoreInSessionResponse { boolean StoreInSessionResult; }" [6]=>
string(30) "struct RetrieveFromSession { }" [7]=> string(73) "struct
RetrieveFromSessionResponse { string RetrieveFromSessionResult; }"
[8]=> string(28) "struct RetrieveSessionId { }" [9]=> string(69)
"struct RetrieveSessionIdResponse { string RetrieveSessionIdResult; }"
}
THEN THE SAME THING FOR THE SECOND WEB SERVICE
Actual result:
--------------
array(10) { [0]=> string(17) "struct Coucou { }" [1]=> string(47)
"struct CoucouResponse { string CoucouResult; }" [2]=> string(38)
"struct RenvoiSimple { string texte; }" [3]=> string(59) "struct
RenvoiSimpleResponse { string RenvoiSimpleResult; }" [4]=> string(41)
"struct StoreInSession { string valeur; }" [5]=> string(64) "struct
StoreInSessionResponse { boolean StoreInSessionResult; }" [6]=>
string(30) "struct RetrieveFromSession { }" [7]=> string(73) "struct
RetrieveFromSessionResponse { string RetrieveFromSessionResult; }"
[8]=> string(28) "struct RetrieveSessionId { }" [9]=> string(69)
"struct RetrieveSessionIdResponse { string RetrieveSessionIdResult; }"
}
(ONLY...)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=28985&edit=1