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] [EMAIL PROTECTED] 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