summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--framework/3rdParty/WsdlGen/Wsdl.php19
2 files changed, 11 insertions, 9 deletions
diff --git a/HISTORY b/HISTORY
index a743ad90..be9ab783 100644
--- a/HISTORY
+++ b/HISTORY
@@ -12,6 +12,7 @@ EHN: Issue#184 - THttpResponse doesn't support custom Content-Type headers, remo
BUG: Issue#188 - TDbCache doesn't check if db connection is active. (Yves)
BUG: Issue#189 - Page State corrupted when EnableStateValidation=False (Christophe)
BUG: Issue#191 - Bad parsing of MySQL ENUM type column (Yves)
+BUG: Issue#192 - soap-enc:Array not a valid complex type (mosonyi at esix.hu)
BUG: Issue#198 - "Undefined variable: tagName" after error in application configuration. (Christophe)
BUG: Issue#200 - TShellApplication failed when no service are defined in application configuration. (Christophe)
BUG: Issue#208 - TDbConnection.Charset not working properly (googlenew at pcforum.hu, Christophe)
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
{