В настоящее время я использую WSDL во Flex, который находится на сервере, обслуживаемом .NET. Кажется, что все операции работают нормально, кроме одной, чей результирующий объект не был должным образом проанализирован AS3 по какой-то странной причине. Я проверил XML-ответ в Fiddler / Charles, и данные есть, но НЕ в результате - в инспекторе переменных Flex. Виновником является подтэг 'DD' (result.data.result.Tables.DD.Columns). Я вижу только одного из них, и это 17 дочерних подкатегорий, но они перечислены как индексы массива 0-17 со значениями. из "RID", "NP", "LI" и так далее. Но эти теги не имеют значений. Я думаю, что я не получаю никаких тегов <DD
>.
Вот мой обработчик результата:
public function getLocationStats_result( result : Object ) : void
{
trace("Location Stats Received");
var locations : ArrayCollection = result.data.result.Tables.DD.Columns;
sublocationCheck();
for(var i: int =0; i < locations.length; i++)
{
//Setting up the info Dictionary, key= location name, value = LocationInfo obj.
model.pinLocations.sublocations.getItemAt(0).info[locations[i]]= new LocationInfo();
}
};
А вот соответствующая часть ответа от WSDL:
<GetLocationStatsResponse xmlns="http://tempuri.org/">
<GetLocationStatsResult>
<xs:schema id="Rpt_DSDashBoardFeed" targetNamespace="http://tempuri.org/Rpt_DSDashBoardFeed.xsd" xmlns:mstns="http://tempuri.org/Rpt_DSDashBoardFeed.xsd" xmlns="http://tempuri.org/Rpt_DSDashBoardFeed.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:element name="Rpt_DSDashBoardFeed" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="DD">
<xs:complexType>
<xs:sequence>
<xs:element name="RID" type="xs:decimal" minOccurs="0" />
<xs:element name="LP" type="xs:long" minOccurs="0" />
<xs:element name="NI" type="xs:long" minOccurs="0" />
<xs:element name="ENC" type="xs:long" minOccurs="0" />
<xs:element name="IMIN" type="xs:dateTime" minOccurs="0" />
<xs:element name="IMAX" type="xs:dateTime" minOccurs="0" />
<xs:element name="CC" type="xs:string" minOccurs="0" />
<xs:element name="LC" type="xs:string" minOccurs="0" />
<xs:element name="SLC" type="xs:string" minOccurs="0" />
<xs:element name="PC" type="xs:string" minOccurs="0" />
<xs:element name="CN" type="xs:string" minOccurs="0" />
<xs:element name="LN" type="xs:string" minOccurs="0" />
<xs:element name="SLN" type="xs:string" minOccurs="0" />
<xs:element name="PN" type="xs:string" minOccurs="0" />
<xs:element name="HW" type="xs:decimal" minOccurs="0" />
<xs:element name="TH" type="xs:decimal" minOccurs="0" />
<xs:element name="TE" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<Rpt_DSDashBoardFeed xmlns="http://tempuri.org/Rpt_DSDashBoardFeed.xsd">
<DD diffgr:id="DD1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<RID>21389325</RID>
<LP>277467563</LP>
<NI>1</NI>
<ENC>1</ENC>
<IMIN>2010-02-16T09:53:54.0000000-05:00</IMIN>
<IMAX>2010-02-16T09:53:54.0000000-05:00</IMAX>
<CC>WDWPR</CC>
<LC>MK</LC>
<SLC>ENTR</SLC>
<PC>397850</PC>
<CN>Some String</CN>
<LN>Another String</LN>
<SLN>Location</SLN>
<PN>Eastman, Suzy</PN>
<HW>0</HW>
<TH>11</TH>
<TE>30</TE>
</DD>
<DD diffgr:id="DD2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
<RID>21389326</RID>
<LP>277467508</LP>
<NI>8</NI>
<ENC>2</ENC>
<IMIN>2010-02-16T09:53:42.0000000-05:00</IMIN>
<IMAX>2010-02-16T09:55:16.0000000-05:00</IMAX>
<CC>WDWPR</CC>
<LC>MK</LC>
<SLC>FMAIN</SLC>
<PC>359800</PC>
<CN>Some String</CN>
<LN>Yet ANOTHER string</LN>
<SLN>Some Info</SLN>
<PN>Mays, Willie</PN>
<HW>0</HW>
<TH>11</TH>
<TE>42</TE>
</DD>
(усечено, больше тегов DD, плюс закрывающие теги.)
Все, что я вижу, - это начальный тег с именами тегов. Я не вижу в своем отладчике в объекте результата каких-либо реальных тегов DD или способа доступа к ним. Как же я могу ссылаться на них? Я сошел с ума, гуглил и искал в стеке поток ответов, и теперь я застрял. Заранее спасибо за любую помощь!