コードブローを使用して、次の石鹸応答を解析しようとしています。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:components="components.*"
xmlns:hellos="services.hellos.*"
height="957" creationComplete="initApp()" >
<fx:Style source="Styles.css"/>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private namespace invesbot = "http://Services.com";
use namespace invesbot;
private namespace a = "http://schemas.xmlsoap.org/soap/envelope/";
private namespace b = "http://www.w3.org/2001/XMLSchema";
private namespace c = "http://www.w3.org/2001/XMLSchema-instance";
use namespace a;
use namespace b;
use namespace c;
[Bindable]
var _result:*
private function initApp():void
{
myService.mycustomers();
}
]]>
</fx:Script>
<fx:Declarations>
<mx:WebService id="myService" wsdl="http://localhost:8081/WebServiceTest/services/Hellos?wsdl"
showBusyCursor="true"
fault="Alert.show(event.fault.faultString), 'Error'">
<mx:operation name="mycustomers" resultFormat="e4x">
<mx:request>
</mx:request>
</mx:operation>
</mx:WebService>
</fx:Declarations>
<mx:HBox>
<mx:Text
text="{myService.mycustomers.lastResult.mycustomersReturn.name}"
/>
</mx:HBox>
</s:Application>
SOAP 応答は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<mycustomersResponse xmlns="http://Services.com">
<mycustomersReturn>
<age>28</age>
<name>John</name>
</mycustomersReturn>
<mycustomersReturn>
<age>29</age>
<name>Alex</name>
</mycustomersReturn>
<mycustomersReturn>
<age>30</age>
<name>Jack</name>
</mycustomersReturn>
</mycustomersResponse>
</soapenv:Body>
</soapenv:Envelope>
上記のコードを使用すると、出力は次のようになります
<name xmlns="http://Services.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">John</name>
<name xmlns="http://Services.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Alex</name>
<name xmlns="http://Services.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Jack</name>
しかし、次のコードを使用して結果をドロップダウンボックスに入れると、次のエラーが発生します
<s:FormItem label="Employee:">
<s:DropDownList id="dropDownList3"
labelField="name"
dataProvider ="{myService.mycustomers.lastResult.mycustomersReturn}"/>
</s:FormItem>
TypeError: エラー #1034: 型強制に失敗しました: XMLList@106e9af1 を mx.collections.IList に変換できません。