Overview
Artifact ID: | 69150acb55e7665f9a66fea289102fa61f014b61f29ef3da622f99d00212b6ad |
---|---|
Ticket: | 584bfb772724c1a938f671b8a9ac1d57b2d70f58
WS::Client returns nonsense for abstract types |
User & Date: | oehhar 2018-02-09 14:51:47 |
Changes
- Appended to comment:
<hr /><i>oehhar added on 2018-02-09 14:51:47 UTC:</i><br /> Looking to the service array: <verbatim> simpletypes -> list of ... {tns1:Envelope {base string comment {} xns tns1}} ... </verbatim> so it is considered as simple type, cousing this result. Looking at the wsdl: Definition of FullExtend in the output: <verbatim> <xs:complexType name="MapServerInfo"> <xs:annotation> <xs:documentation /> </xs:annotation> <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Description" type="xs:string" /> <xs:element minOccurs="0" name="FullExtent" type="Envelope" /> </verbatim> -> type is "Envelope". <verbatim> <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:e="http://www.esri.com/schemas/ArcGIS/10.3" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.esri.com/schemas/ArcGIS/10.3"> <types> <xs:schema targetNamespace="http://www.esri.com/schemas/ArcGIS/10.3" xmlns="http://www.esri.com/schemas/ArcGIS/10.3"> .. <xs:complexType name="Envelope" abstract="true"> <xs:annotation> <xs:documentation /> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="Geometry" /> </xs:complexContent> </xs:complexType> </verbatim> Now letts look for Geometry: <verbatim> <xs:complexType name="Geometry"> <xs:annotation> <xs:documentation /> </xs:annotation> </xs:complexType> </verbatim> This is nothing. When reverse looking for the returned element "XMin", I only get one type, which directly follows the Extend type: <verbatim> <xs:complexType name="Envelope" abstract="true"> <xs:annotation> <xs:documentation /> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="Geometry" /> </xs:complexContent> </xs:complexType> <xs:complexType name="EnvelopeN"> <xs:annotation> <xs:documentation /> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="Envelope"> <xs:sequence> <xs:element name="XMin" type="xs:double" /> <xs:element name="YMin" type="xs:double" /> <xs:element name="XMax" type="xs:double" /> <xs:element name="YMax" type="xs:double" /> <xs:element minOccurs="0" name="ZMin" type="xs:double" /> <xs:element minOccurs="0" name="ZMax" type="xs:double" /> <xs:element minOccurs="0" name="MMin" type="xs:double" /> <xs:element minOccurs="0" name="MMax" type="xs:double" /> <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="EnvelopeB"> <xs:annotation> <xs:documentation /> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="Envelope"> <xs:sequence> <xs:element name="Bytes" type="xs:base64Binary" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </verbatim> Here is the definition matching the input data. It seams to be something like abstract classes in oo-c. The type is empty and replaced by one of the real types in function of context. So, I suppose, abstract classes are not supported or broken.