-
-
Notifications
You must be signed in to change notification settings - Fork 6
Closed
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
Feature Request
| Q | A |
|---|---|
| New Feature | yes |
| RFC | no |
| BC Break | no |
Summary
Currently we skip parsing of the properties for soapEnc arrays to make it more compatible with how php handles arrays.
(see SkipArrayTypePropertiesRule)
However, the array type and size information gets lost.
<xs:complexType name="TIntegerDynArray">
<xs:complexContent>
<xs:restriction base="soapenc:Array">
<xs:sequence/>
<xs:attribute ref="soapenc:arrayType" n1:arrayType="xs:int[]" xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>Results in:
[1] => Soap\Engine\Metadata\Model\Type Object
(
[xsdType:Soap\Engine\Metadata\Model\Type:private] => Soap\Engine\Metadata\Model\XsdType Object
(
[name:Soap\Engine\Metadata\Model\XsdType:private] => TIntegerDynArray
[baseType:Soap\Engine\Metadata\Model\XsdType:private] => Array
[xmlNamespace:Soap\Engine\Metadata\Model\XsdType:private] => http://www.borland.com/namespaces/Types
[xmlNamespaceName:Soap\Engine\Metadata\Model\XsdType:private] => ns1
[meta:Soap\Engine\Metadata\Model\XsdType:private] => Soap\Engine\Metadata\Model\TypeMeta Object
(
[isAbstract:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[default:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[docs:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[enums:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[extends:Soap\Engine\Metadata\Model\TypeMeta:private] => Array
(
[type] => Array
[namespace] => http://schemas.xmlsoap.org/soap/encoding/
)
[fixed:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isAlias:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isAttribute:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isElementValue:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isList:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isNullable:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isElement:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isSimple:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isLocal:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isNil:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[minOccurs:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[maxOccurs:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[restriction:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[unions:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[use:Soap\Engine\Metadata\Model\TypeMeta:private] =>
[isQualified:Soap\Engine\Metadata\Model\TypeMeta:private] =>
)
[memberTypes:Soap\Engine\Metadata\Model\XsdType:private] => Array
(
)
)
[properties:Soap\Engine\Metadata\Model\Type:private] => Soap\Engine\Metadata\Collection\PropertyCollection Object
(
[properties:Soap\Engine\Metadata\Collection\PropertyCollection:private] => Array
(
)
)
)
Expectation:
- isList -> true
- tell it that the type is int[] (minoccurs: 0, maxOccurs unbounded)
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed