Fixed bug #28985 (__getTypes() returning nothing on complex WSDL).

This commit is contained in:
Dmitry Stogov 2004-07-19 14:55:35 +00:00
parent 86b0967775
commit 96fc48b606
4 changed files with 895 additions and 3 deletions

1
NEWS
View File

@ -1,6 +1,7 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2004, PHP 5.1.0
- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
- Fixed bug #29061 (soap extension segfaults). (Dmitry)

View File

@ -3749,8 +3749,12 @@ static void type_to_string(sdlTypePtr type, smart_str *buf, int level)
case XSD_TYPEKIND_SIMPLE:
case XSD_TYPEKIND_LIST:
case XSD_TYPEKIND_UNION:
smart_str_appendl(buf, type->encode->details.type_str, strlen(type->encode->details.type_str));
smart_str_appendc(buf, ' ');
if (type->encode) {
smart_str_appendl(buf, type->encode->details.type_str, strlen(type->encode->details.type_str));
smart_str_appendc(buf, ' ');
} else {
smart_str_appendl(buf, "anyType ", sizeof("anyType ")-1);
}
smart_str_appendl(buf, type->name, strlen(type->name));
break;
case XSD_TYPEKIND_COMPLEX:
@ -3775,7 +3779,7 @@ static void type_to_string(sdlTypePtr type, smart_str *buf, int level)
len = end-(*ext)->val;
}
if (len == 0) {
smart_str_appendl(buf, "anyType", 7);
smart_str_appendl(buf, "anyType", sizeof("anyType")-1);
} else {
smart_str_appendl(buf, (*ext)->val, len);
}

View File

@ -0,0 +1,204 @@
--TEST--
Bug #28985 (__getTypes() returning nothing on complex WSDL)
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$client = new SOAPClient(dirname(__FILE__).'/bug28985.wsdl', array('trace'=>1));
var_dump($client->__getTypes());
?>
--EXPECT--
array(42) {
[0]=>
string(100) "struct LoginMGDIS {
string iUserLogin;
string iUserId;
string iUserPassword;
string iProfilId;
}"
[1]=>
string(29) "struct LoginMGDISResponse {
}"
[2]=>
string(28) "struct GetIdentification {
}"
[3]=>
string(77) "struct GetIdentificationResponse {
ArrayOfAnyType GetIdentificationResult;
}"
[4]=>
string(43) "struct ArrayOfAnyType {
anyType anyType;
}"
[5]=>
string(37) "struct RollbackCurrentTransaction {
}"
[6]=>
string(45) "struct RollbackCurrentTransactionResponse {
}"
[7]=>
string(68) "struct GetListeProfil {
string iUserLogin;
string iUserPassword;
}"
[8]=>
string(86) "struct MGCodeLibelle {
string Code;
string Libelle;
boolean Defaut;
anyType Tag;
}"
[9]=>
string(61) "struct ArrayOfMGCodeLibelle {
MGCodeLibelle MGCodeLibelle;
}"
[10]=>
string(77) "struct GetListeProfilResponse {
ArrayOfMGCodeLibelle GetListeProfilResult;
}"
[11]=>
string(41) "struct GetListeValCodif {
string Code;
}"
[12]=>
string(43) "struct ArrayOfMGCodif {
MGCodif MGCodif;
}"
[13]=>
string(18) "struct MGCodif {
}"
[14]=>
string(75) "struct GetListeValCodifResponse {
ArrayOfMGCodif GetListeValCodifResult;
}"
[15]=>
string(39) "struct TestPhpSoap {
MGCodif entree;
}"
[16]=>
string(57) "struct TestPhpSoapResponse {
string TestPhpSoapResult;
}"
[17]=>
string(50) "struct GetListeCodif {
boolean iGetListeValeur;
}"
[18]=>
string(87) "struct MGCodifGrp {
string TypeCodif;
string LibCodif;
ArrayOfMGCodif ListeCodifs;
}"
[19]=>
string(52) "struct ArrayOfMGCodifGrp {
MGCodifGrp MGCodifGrp;
}"
[20]=>
string(72) "struct GetListeCodifResponse {
ArrayOfMGCodifGrp GetListeCodifResult;
}"
[21]=>
string(57) "struct DroitCreation {
string iObjet;
string iProfil;
}"
[22]=>
string(62) "struct DroitCreationResponse {
boolean DroitCreationResult;
}"
[23]=>
string(74) "struct ListeDroitCreation {
ArrayOfString iListeObjet;
string iProfil;
}"
[24]=>
string(40) "struct ArrayOfString {
string string;
}"
[25]=>
string(79) "struct ListeDroitCreationResponse {
ArrayOfAnyType ListeDroitCreationResult;
}"
[26]=>
string(87) "struct GetDroitsObjetProtege {
string iObjet;
string iProfil;
string iUtilisateur;
}"
[27]=>
string(154) "struct MGDroitsObjetProtege {
string LbUti;
string LbProf;
string LbServ;
string LbDir;
boolean isProtected;
ArrayOfMGDroitAcces ListeDroitsAcces;
}"
[28]=>
string(58) "struct ArrayOfMGDroitAcces {
MGDroitAcces MGDroitAcces;
}"
[29]=>
string(104) "struct MGDroitAcces {
string IdProfil;
boolean Lecture;
boolean Modification;
boolean Suppression;
}"
[30]=>
string(91) "struct GetDroitsObjetProtegeResponse {
MGDroitsObjetProtege GetDroitsObjetProtegeResult;
}"
[31]=>
string(76) "struct GetPrivileges {
string iIdSupport;
int iIdForme;
string iProfil;
}"
[32]=>
string(68) "struct GetPrivilegesResponse {
ArrayOfString GetPrivilegesResult;
}"
[33]=>
string(46) "struct GetLibelleProfil {
string iIdProfil;
}"
[34]=>
string(67) "struct GetLibelleProfilResponse {
string GetLibelleProfilResult;
}"
[35]=>
string(91) "struct GetValeurRecherche {
string iChampSource;
string iTable;
string iOrderByClause;
}"
[36]=>
string(78) "struct GetValeurRechercheResponse {
ArrayOfString GetValeurRechercheResult;
}"
[37]=>
string(128) "struct GetValeurRechercheWithClauseWhere {
string iChampSource;
string iTable;
string iClauseWhere;
string iOrderByClause;
}"
[38]=>
string(108) "struct GetValeurRechercheWithClauseWhereResponse {
ArrayOfString GetValeurRechercheWithClauseWhereResult;
}"
[39]=>
string(27) "struct GetEnvironnement {
}"
[40]=>
string(106) "struct MGEnvironnement {
string RepBureautique;
string RepBureautiqueImage;
string RepBureautiqueDoc;
}"
[41]=>
string(76) "struct GetEnvironnementResponse {
MGEnvironnement GetEnvironnementResult;
}"
}

View File

@ -0,0 +1,683 @@
<?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>