dmitry Mon Aug 9 01:50:06 2004 EDT
Added files: (Branch: PHP_5_0)
/php-src/ext/soap/tests/bugs .cvsignore bug28985.phpt bug28985.wsdl
bug29061.phpt bug29061.wsdl
bug29109.phpt bug29109.wsdl
bug29236.phpt bug29236.wsdl
Modified files:
/php-src NEWS
/php-src/ext/soap php_sdl.c soap.c
Log:
Included ext/soap fixes from CVS HEAD.
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1760.2.24&r2=1.1760.2.25&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1760.2.24 php-src/NEWS:1.1760.2.25
--- php-src/NEWS:1.1760.2.24 Mon Aug 9 00:33:39 2004
+++ php-src/NEWS Mon Aug 9 01:50:05 2004
@@ -1,6 +1,10 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2004, PHP 5.0.1
+- 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)
+- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
- Updated several libraries bundled with the windows release which now
includes libxml2-2.6.11, libxslt-1.1.7 and iconv-1.9.1. (Rob, Edin)
- Improved and moved ActiveScript SAPI to PECL. (Wez)
http://cvs.php.net/diff.php/php-src/ext/soap/php_sdl.c?r1=1.70&r2=1.70.2.1&ty=u
Index: php-src/ext/soap/php_sdl.c
diff -u php-src/ext/soap/php_sdl.c:1.70 php-src/ext/soap/php_sdl.c:1.70.2.1
--- php-src/ext/soap/php_sdl.c:1.70 Mon Jul 5 17:31:35 2004
+++ php-src/ext/soap/php_sdl.c Mon Aug 9 01:50:05 2004
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_sdl.c,v 1.70 2004/07/05 21:31:35 iliaa Exp $ */
+/* $Id: php_sdl.c,v 1.70.2.1 2004/08/09 05:50:05 dmitry Exp $ */
#include "php_soap.h"
#include "libxml/uri.h"
@@ -1459,14 +1459,12 @@
binding->name = sdl_deserialize_string(&in);
binding->location = sdl_deserialize_string(&in);
WSDL_CACHE_GET_1(binding->bindingType,sdlBindingType,&in);
- if (binding->bindingType == BINDING_SOAP) {
- if (*in != 0) {
- sdlSoapBindingPtr soap_binding =
binding->bindingAttributes = emalloc(sizeof(sdlSoapBinding));
-
WSDL_CACHE_GET_1(soap_binding->style,sdlEncodingStyle,&in);
-
WSDL_CACHE_GET_1(soap_binding->transport,sdlTransport,&in);
- } else {
- WSDL_CACHE_SKIP(1,&in);
- }
+ if (binding->bindingType == BINDING_SOAP && *in != 0) {
+ sdlSoapBindingPtr soap_binding = binding->bindingAttributes
= emalloc(sizeof(sdlSoapBinding));
+
WSDL_CACHE_GET_1(soap_binding->style,sdlEncodingStyle,&in);
+
WSDL_CACHE_GET_1(soap_binding->transport,sdlTransport,&in);
+ } else {
+ WSDL_CACHE_SKIP(1,&in);
}
bindings[i] = binding;
}
@@ -1490,18 +1488,16 @@
} else {
func->binding = bindings[binding_num-1];
}
- if (func->binding && func->binding->bindingType == BINDING_SOAP) {
- if (*in != 0) {
- sdlSoapBindingFunctionPtr binding =
func->bindingAttributes = emalloc(sizeof(sdlSoapBindingFunction));
- memset(binding, 0, sizeof(sdlSoapBindingFunction));
- WSDL_CACHE_GET_1(binding->style,sdlEncodingStyle,&in);
- binding->soapAction = sdl_deserialize_string(&in);
- sdl_deserialize_soap_body(&binding->input, encoders,
types, &in);
- sdl_deserialize_soap_body(&binding->output, encoders,
types, &in);
- } else {
- WSDL_CACHE_SKIP(1, &in);
- func->bindingAttributes = NULL;
- }
+ if (func->binding && func->binding->bindingType == BINDING_SOAP && *in
!= 0) {
+ sdlSoapBindingFunctionPtr binding = func->bindingAttributes =
emalloc(sizeof(sdlSoapBindingFunction));
+ memset(binding, 0, sizeof(sdlSoapBindingFunction));
+ WSDL_CACHE_GET_1(binding->style,sdlEncodingStyle,&in);
+ binding->soapAction = sdl_deserialize_string(&in);
+ sdl_deserialize_soap_body(&binding->input, encoders, types,
&in);
+ sdl_deserialize_soap_body(&binding->output, encoders, types,
&in);
+ } else {
+ WSDL_CACHE_SKIP(1, &in);
+ func->bindingAttributes = NULL;
}
func->requestParameters = sdl_deserialize_parameters(encoders, types,
&in);
http://cvs.php.net/diff.php/php-src/ext/soap/soap.c?r1=1.110&r2=1.110.2.1&ty=u
Index: php-src/ext/soap/soap.c
diff -u php-src/ext/soap/soap.c:1.110 php-src/ext/soap/soap.c:1.110.2.1
--- php-src/ext/soap/soap.c:1.110 Tue Jul 13 16:41:55 2004
+++ php-src/ext/soap/soap.c Mon Aug 9 01:50:05 2004
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: soap.c,v 1.110 2004/07/13 20:41:55 zeev Exp $ */
+/* $Id: soap.c,v 1.110.2.1 2004/08/09 05:50:05 dmitry Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -1262,7 +1262,7 @@
INIT_ZVAL(readfile_ret);
MAKE_STD_ZVAL(param);
- sapi_add_header("Content-Type:
text/xml; charset=\"utf-8\"", sizeof("Content-Type: text/xml; charset=\"utf-8\""), 1);
+ sapi_add_header("Content-Type:
text/xml; charset=\"utf-8\"", sizeof("Content-Type: text/xml; charset=\"utf-8\"")-1,
1);
ZVAL_STRING(param,
service->sdl->source, 1);
ZVAL_STRING(&readfile, "readfile", 1);
if
(call_user_function(EG(function_table), NULL, &readfile, &readfile_ret, 1, ¶m
TSRMLS_CC) == FAILURE) {
@@ -1623,11 +1623,11 @@
}
sprintf(cont_len, "Content-Length: %d", size);
- sapi_add_header(cont_len, strlen(cont_len) + 1, 1);
+ sapi_add_header(cont_len, strlen(cont_len), 1);
if (soap_version == SOAP_1_2) {
- sapi_add_header("Content-Type: application/soap+xml;
charset=\"utf-8\"", sizeof("Content-Type: application/soap+xml; charset=\"utf-8\""),
1);
+ sapi_add_header("Content-Type: application/soap+xml;
charset=\"utf-8\"", sizeof("Content-Type: application/soap+xml; charset=\"utf-8\"")-1,
1);
} else {
- sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"",
sizeof("Content-Type: text/xml; charset=\"utf-8\""), 1);
+ sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"",
sizeof("Content-Type: text/xml; charset=\"utf-8\"")-1, 1);
}
xmlFreeDoc(doc_return);
@@ -1707,13 +1707,13 @@
Want to return HTTP 500 but apache wants to over write
our fault code with their own handling... Figure this out later
*/
- sapi_add_header("HTTP/1.1 500 Internal Service Error", sizeof("HTTP/1.1 500
Internal Service Error"), 1);
+ sapi_add_header("HTTP/1.1 500 Internal Service Error", sizeof("HTTP/1.1 500
Internal Service Error")-1, 1);
sprintf(cont_len,"Content-Length: %d", size);
- sapi_add_header(cont_len, strlen(cont_len) + 1, 1);
+ sapi_add_header(cont_len, strlen(cont_len), 1);
if (soap_version == SOAP_1_2) {
- sapi_add_header("Content-Type: application/soap+xml;
charset=\"utf-8\"", sizeof("Content-Type: application/soap+xml; charset=\"utf-8\""),
1);
+ sapi_add_header("Content-Type: application/soap+xml;
charset=\"utf-8\"", sizeof("Content-Type: application/soap+xml; charset=\"utf-8\"")-1,
1);
} else {
- sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"",
sizeof("Content-Type: text/xml; charset=\"utf-8\""), 1);
+ sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"",
sizeof("Content-Type: text/xml; charset=\"utf-8\"")-1, 1);
}
php_write(buf, size TSRMLS_CC);
@@ -1993,10 +1993,18 @@
ZVAL_STRINGL(params[0], buf, buf_size, 0);
INIT_ZVAL(param1);
params[1] = ¶m1;
- ZVAL_STRING(params[1], location, 0);
+ if (location == NULL) {
+ ZVAL_NULL(params[1]);
+ } else {
+ ZVAL_STRING(params[1], location, 0);
+ }
INIT_ZVAL(param2);
params[2] = ¶m2;
- ZVAL_STRING(params[2], action, 0);
+ if (action == NULL) {
+ ZVAL_NULL(params[2]);
+ } else {
+ ZVAL_STRING(params[2], action, 0);
+ }
INIT_ZVAL(param3);
params[3] = ¶m3;
ZVAL_LONG(params[3], version);
@@ -2035,8 +2043,6 @@
sdlPtr old_sdl = NULL;
sdlFunctionPtr fn;
xmlDocPtr request = NULL;
- char *buffer;
- int len;
int ret = FALSE;
int soap_version;
zval response;
@@ -2603,8 +2609,6 @@
xmlAttrPtr attr;
sdlFunctionPtr function;
- ZVAL_EMPTY_STRING(function_name);
-
/* Get <Envelope> element */
env = NULL;
trav = request->children;
@@ -3745,8 +3749,12 @@
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:
@@ -3771,7 +3779,7 @@
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);
}
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/.cvsignore?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/.cvsignore
+++ php-src/ext/soap/tests/bugs/.cvsignore
phpt.*
*.diff
*.log
*.exp
*.out
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug28985.phpt?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug28985.phpt
+++ php-src/ext/soap/tests/bugs/bug28985.phpt
--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;
}"
}
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug28985.wsdl?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug28985.wsdl
+++ php-src/ext/soap/tests/bugs/bug28985.wsdl
<?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>
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug29061.phpt?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug29061.phpt
+++ php-src/ext/soap/tests/bugs/bug29061.phpt
--TEST--
Bug #29061 (soap extension segfaults)
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$client = new SoapClient(dirname(__FILE__)."/bug29061.wsdl", array("exceptions"=>0));
$client->getQuote("ibm");
echo "ok\n";
?>
--EXPECT--
ok
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug29061.wsdl?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug29061.wsdl
+++ php-src/ext/soap/tests/bugs/bug29061.wsdl
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://
schemas.xmlsoap.org/wsdl/http/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/e
ncoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:y="http://new.webservice.namespace" targetNamespace="http
://new.webservice.namespace">
<types>
<xs:schema/>
</types>
<message name="getQuoteResponse">
<part name="parameter" element="" type="xs:string"/>
</message>
<message name="getQuoteRequest">
<part name="String" element="" type="xs:string"/>
</message>
<portType name="SOAPport">
<operation name="getQuote">
<input message="y:getQuoteRequest"/>
<output message="y:getQuoteResponse"/>
</operation>
</portType>
<binding name="bindingName" type="y:SOAPport">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getQuote">
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="myService">
<port name="myPort" binding="y:bindingName">
<soap:address location="test://"/>
</port>
</service>
</definitions>
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug29109.phpt?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug29109.phpt
+++ php-src/ext/soap/tests/bugs/bug29109.phpt
--TEST--
Bug #29109 (Uncaught SoapFault exception: [WSDL] Out of memory)
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$client = new SoapClient(dirname(__FILE__)."/bug29109.wsdl");
var_dump($client->__getFunctions());
?>
--EXPECT--
array(3) {
[0]=>
string(53) "HelloWorldResponse HelloWorld(HelloWorld $parameters)"
[1]=>
string(19) "string HelloWorld()"
[2]=>
string(19) "string HelloWorld()"
}
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug29109.wsdl?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug29109.wsdl
+++ php-src/ext/soap/tests/bugs/bug29109.wsdl
<?xml version="1.0" encoding="windows-1257"?>
<definitions xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:s0="http://tempuri.org/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" name="test"
targetNamespace="http://tempuri.org/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xs:schema elementFormDefault="qualified"
targetNamespace="http://tempuri.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="HelloWorld">
<xs:complexType />
</xs:element>
<xs:element name="HelloWorldResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1"
name="HelloWorldResult" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="string" type="xs:string" />
</xs:schema>
</types>
<message name="HelloWorldSoapIn">
<part name="parameters" element="s0:HelloWorld" />
</message>
<message name="HelloWorldSoapOut">
<part name="parameters" element="s0:HelloWorldResponse" />
</message>
<message name="HelloWorldHttpGetIn" />
<message name="HelloWorldHttpGetOut">
<part name="Body" element="s0:string" />
</message>
<message name="HelloWorldHttpPostIn" />
<message name="HelloWorldHttpPostOut">
<part name="Body" element="s0:string" />
</message>
<portType name="testSoap">
<operation name="HelloWorld">
<input message="s0:HelloWorldSoapIn" />
<output message="s0:HelloWorldSoapOut" />
</operation>
</portType>
<portType name="testHttpGet">
<operation name="HelloWorld">
<input message="s0:HelloWorldHttpGetIn" />
<output message="s0:HelloWorldHttpGetOut" />
</operation>
</portType>
<portType name="testHttpPost">
<operation name="HelloWorld">
<input message="s0:HelloWorldHttpPostIn" />
<output message="s0:HelloWorldHttpPostOut" />
</operation>
</portType>
<binding name="testSoap" type="s0:testSoap">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="HelloWorld">
<soap:operation soapAction="http://tempuri.org/HelloWorld"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<binding name="testHttpGet" type="s0:testHttpGet">
<http:binding verb="GET" />
<operation name="HelloWorld">
<http:operation location="/HelloWorld" />
<input>
<http:urlEncoded />
</input>
<output>
<mime:mimeXml part="Body" />
</output>
</operation>
</binding>
<binding name="testHttpPost" type="s0:testHttpPost">
<http:binding verb="POST" />
<operation name="HelloWorld">
<http:operation location="/HelloWorld" />
<input>
<mime:content part="" type="application/x-www-form-urlencoded"
/>
</input>
<output>
<mime:mimeXml part="Body" />
</output>
</operation>
</binding>
<service name="test">
<port name="testSoap" binding="s0:testSoap">
<soap:address location="http://localhost:81/test.asmx" />
</port>
<port name="testHttpGet" binding="s0:testHttpGet">
<http:address location="http://localhost:81/test.asmx" />
</port>
<port name="testHttpPost" binding="s0:testHttpPost">
<http:address location="http://localhost:81/test.asmx" />
</port>
</service>
</definitions>
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug29236.phpt?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug29236.phpt
+++ php-src/ext/soap/tests/bugs/bug29236.phpt
--TEST--
Bug #29236 (memory error when wsdl-cache is enabled)
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?
$client = new SoapClient(dirname(__FILE__)."/bug29236.wsdl");
var_dump($client->__getFunctions());
?>
--EXPECT--
array(4) {
[0]=>
string(59) "StartSessionResponse StartSession(StartSession $parameters)"
[1]=>
string(62) "VerifySessionResponse VerifySession(VerifySession $parameters)"
[2]=>
string(41) "LogoutResponse Logout(Logout $parameters)"
[3]=>
string(62) "GetSystemInfoResponse GetSystemInfo(GetSystemInfo $parameters)"
}
http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug29236.wsdl?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug29236.wsdl
+++ php-src/ext/soap/tests/bugs/bug29236.wsdl
<?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://isis.ais.ucla.edu/ws/"
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://isis.ais.ucla.edu/ws/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified"
targetNamespace="http://isis.ais.ucla.edu/ws/">
<s:element name="StartSession">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="uclaId" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="StartSessionResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true"
type="s0:IwsResponse" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="IwsResponse">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="sessionInfo" nillable="true"
type="s0:IwsSession" />
<s:element minOccurs="1" maxOccurs="1" name="errorInfo" nillable="true"
type="s0:IwsErrorCollection" />
</s:sequence>
<s:attribute name="action" type="s0:ActionEnum" />
<s:attribute name="hasErrors" type="s:boolean" />
<s:attribute name="transactionId" type="s:long" />
</s:complexType>
<s:complexType name="IwsSession">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="userAttributes"
type="s0:ArrayOfIwsUserAttribute" />
<s:element minOccurs="0" maxOccurs="1" name="accounts"
type="s0:ArrayOfIwsAccount" />
<s:element minOccurs="1" maxOccurs="1" name="ticket" nillable="true"
type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="uclaId" nillable="true"
type="s:string" />
</s:sequence>
<s:attribute name="status" type="s0:SessionStatus" />
</s:complexType>
<s:complexType name="ArrayOfIwsUserAttribute">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="attribute"
type="s0:IwsUserAttribute" />
</s:sequence>
</s:complexType>
<s:complexType name="IwsUserAttribute">
<s:attribute name="name" type="s:string" />
<s:attribute name="value" type="s:string" />
</s:complexType>
<s:complexType name="ArrayOfIwsAccount">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="account"
type="s0:IwsAccount" />
</s:sequence>
</s:complexType>
<s:complexType name="IwsAccount">
<s:attribute name="loginId" type="s:string" />
<s:attribute name="type" type="s0:LoginType" />
<s:attribute name="status" type="s0:AccountStatus" />
</s:complexType>
<s:simpleType name="LoginType">
<s:restriction base="s:string">
<s:enumeration value="BruinOnline" />
<s:enumeration value="ACF2" />
<s:enumeration value="QDB" />
<s:enumeration value="UID" />
<s:enumeration value="CommonLogon" />
<s:enumeration value="RACF" />
</s:restriction>
</s:simpleType>
<s:simpleType name="AccountStatus">
<s:restriction base="s:string">
<s:enumeration value="Unknown" />
<s:enumeration value="Active" />
<s:enumeration value="Authenticated" />
<s:enumeration value="AuthenticatedWithCachedCredential" />
<s:enumeration value="NotAuthenticated" />
<s:enumeration value="PermmanentlySuspended" />
<s:enumeration value="TemporarilySuspended" />
<s:enumeration value="PasswordResetRequired" />
<s:enumeration value="InvalidID" />
</s:restriction>
</s:simpleType>
<s:simpleType name="SessionStatus">
<s:restriction base="s:string">
<s:enumeration value="Uninitialized" />
<s:enumeration value="Active" />
<s:enumeration value="ActiveWithCachedCredential" />
<s:enumeration value="ActiveWithMultipleCredentials" />
<s:enumeration value="Expired" />
</s:restriction>
</s:simpleType>
<s:complexType name="IwsErrorCollection">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="errors"
type="s0:ArrayOfIwsError" />
</s:sequence>
<s:attribute name="count" type="s:int" />
</s:complexType>
<s:complexType name="ArrayOfIwsError">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="error"
type="s0:IwsError" />
</s:sequence>
</s:complexType>
<s:complexType name="IwsError">
<s:attribute name="errorCode" type="s:int" />
<s:attribute name="detail" type="s:string" />
</s:complexType>
<s:simpleType name="ActionEnum">
<s:restriction base="s:string">
<s:enumeration value="GetInfo" />
<s:enumeration value="Start" />
<s:enumeration value="Verify" />
<s:enumeration value="Logout" />
</s:restriction>
</s:simpleType>
<s:element name="wsConsumerCredential" type="s0:WsConsumerCredential" />
<s:complexType name="WsConsumerCredential">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="id" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="VerifySession">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ticket" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="returnExtendedAttributes"
type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="VerifySessionResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true"
type="s0:IwsResponse" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="Logout">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ticket" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="LogoutResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true"
type="s0:IwsResponse" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetSystemInfo">
<s:complexType />
</s:element>
<s:element name="GetSystemInfoResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetSystemInfoResult"
type="s0:ArrayOfIwsAttribute" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfIwsAttribute">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="IwsAttribute"
type="s0:IwsAttribute" />
</s:sequence>
</s:complexType>
<s:complexType name="IwsAttribute">
<s:attribute name="name" type="s:string" />
<s:attribute name="value" type="s:string" />
</s:complexType>
</s:schema>
</types>
<message name="StartSessionSoapIn">
<part name="parameters" element="s0:StartSession" />
</message>
<message name="StartSessionSoapOut">
<part name="parameters" element="s0:StartSessionResponse" />
</message>
<message name="StartSessionwsConsumerCredential">
<part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
</message>
<message name="VerifySessionSoapIn">
<part name="parameters" element="s0:VerifySession" />
</message>
<message name="VerifySessionSoapOut">
<part name="parameters" element="s0:VerifySessionResponse" />
</message>
<message name="VerifySessionwsConsumerCredential">
<part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
</message>
<message name="LogoutSoapIn">
<part name="parameters" element="s0:Logout" />
</message>
<message name="LogoutSoapOut">
<part name="parameters" element="s0:LogoutResponse" />
</message>
<message name="LogoutwsConsumerCredential">
<part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
</message>
<message name="GetSystemInfoSoapIn">
<part name="parameters" element="s0:GetSystemInfo" />
</message>
<message name="GetSystemInfoSoapOut">
<part name="parameters" element="s0:GetSystemInfoResponse" />
</message>
<message name="GetSystemInfowsConsumerCredential">
<part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
</message>
<portType name="IsisSoap">
<operation name="StartSession">
<input message="s0:StartSessionSoapIn" />
<output message="s0:StartSessionSoapOut" />
</operation>
<operation name="VerifySession">
<input message="s0:VerifySessionSoapIn" />
<output message="s0:VerifySessionSoapOut" />
</operation>
<operation name="Logout">
<input message="s0:LogoutSoapIn" />
<output message="s0:LogoutSoapOut" />
</operation>
<operation name="GetSystemInfo">
<input message="s0:GetSystemInfoSoapIn" />
<output message="s0:GetSystemInfoSoapOut" />
</operation>
</portType>
<portType name="IsisHttpGet" />
<portType name="IsisHttpPost" />
<binding name="IsisSoap" type="s0:IsisSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="StartSession">
<soap:operation soapAction="http://isis.ais.ucla.edu/ws/StartSession"
style="document" />
<input>
<soap:body use="literal" />
<soap:header d5p1:required="true"
message="s0:StartSessionwsConsumerCredential" part="wsConsumerCredential"
use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="VerifySession">
<soap:operation soapAction="http://isis.ais.ucla.edu/ws/VerifySession"
style="document" />
<input>
<soap:body use="literal" />
<soap:header d5p1:required="true"
message="s0:VerifySessionwsConsumerCredential" part="wsConsumerCredential"
use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="Logout">
<soap:operation soapAction="http://isis.ais.ucla.edu/ws/Logout" style="document"
/>
<input>
<soap:body use="literal" />
<soap:header d5p1:required="true" message="s0:LogoutwsConsumerCredential"
part="wsConsumerCredential" use="literal"
xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetSystemInfo">
<soap:operation soapAction="http://isis.ais.ucla.edu/ws/GetSystemInfo"
style="document" />
<input>
<soap:body use="literal" />
<soap:header d5p1:required="true"
message="s0:GetSystemInfowsConsumerCredential" part="wsConsumerCredential"
use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<binding name="IsisHttpGet" type="s0:IsisHttpGet">
<http:binding verb="GET" />
</binding>
<binding name="IsisHttpPost" type="s0:IsisHttpPost">
<http:binding verb="POST" />
</binding>
<service name="Isis">
<port name="IsisSoap" binding="s0:IsisSoap">
<soap:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
</port>
<port name="IsisHttpGet" binding="s0:IsisHttpGet">
<http:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
</port>
<port name="IsisHttpPost" binding="s0:IsisHttpPost">
<http:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
</port>
</service>
</definitions>
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php