From b8aed6893e0e00197a02fd782415e4f0ce2360da Mon Sep 17 00:00:00 2001
From: "Christophe.Boulain" <>
Date: Thu, 21 Jan 2010 08:17:26 +0000
Subject: Fixed Issue#192

---
 framework/3rdParty/WsdlGen/Wsdl.php | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

(limited to 'framework/3rdParty')

diff --git a/framework/3rdParty/WsdlGen/Wsdl.php b/framework/3rdParty/WsdlGen/Wsdl.php
index 1df2f337..3ec5bdf1 100644
--- a/framework/3rdParty/WsdlGen/Wsdl.php
+++ b/framework/3rdParty/WsdlGen/Wsdl.php
@@ -148,15 +148,16 @@ class Wsdl
 			$complexType->setAttribute('name', $type);
 			if(substr($type, strlen($type) - 5, 5) == 'Array')  // if it's an array
 			{
-				$complexContent = $dom->createElementNS('http://www.w3.org/2001/XMLSchema', 'xsd:complexContent');
-				$restriction = $dom->createElementNS('http://www.w3.org/2001/XMLSchema', 'xsd:restriction');
-				$restriction->setAttribute('base', 'soap-enc:Array');
-				$attribute = $dom->createElementNS('http://www.w3.org/2001/XMLSchema', 'xsd:attribute');
-				$attribute->setAttribute('ref', "soap-enc:arrayType");
-				$attribute->setAttribute('wsdl:arrayType', $this->getArrayTypePrefix($type) . substr($type, 0, strlen($type) - 5) . '[]');
-				$restriction->appendChild($attribute);
-				$complexContent->appendChild($restriction);
-				$complexType->appendChild($complexContent);
+				$sequence = $dom->createElement("xsd:sequence");
+
+				$singularType = substr($type, 0, strlen($type) - 5);
+				$e = $dom->createElementNS('http://www.w3.org/2001/XMLSchema', 'xsd:element');
+				$e->setAttribute('name', $singularType);
+				$e->setAttribute('type', sprintf('tns:%s',$singularType));
+				$e->setAttribute('minOccurs','0');
+				$e->setAttribute('maxOccurs','unbounded');
+				$sequence->appendChild($e);
+				$complexType->appendChild($sequence);
 			}
 			else
 			{
-- 
cgit v1.2.3