このカスタム例外私のflex3クライアントにWebサービスの戻り値:フレックスでXMLノードにアクセスする方法を
<SOAP-ENV:Fault xmlns:ro="urn:Gov2gLibrary" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:HNS="http://tempuri.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v1="http://tempuri.org/">
<faultcode>E2gError</faultcode>
<faultstring>abc</faultstring>
<detail>
<HNS:ROException>
<HNS:Messages>
<HNS:T2gMsg>
<HNS:ID>4545</HNS:ID>
<HNS:Severity>abc</HNS:Severity>
<HNS:Category>abc</HNS:Category>
<HNS:Message1>abc</HNS:Message1>
<HNS:Message2 />
</HNS:T2gMsg>
<HNS:T2gMsg>
<HNS:ID>345344</HNS:ID>
<HNS:Severity>abc</HNS:Severity>
<HNS:Category>abc</HNS:Category>
<HNS:Message1>abc</HNS:Message1>
<HNS:Message2 />
</HNS:T2gMsg>
</HNS:Messages>
</HNS:ROException>
</detail>
</SOAP-ENV:Fault>
これは明らかに、リモート呼び出しが失敗したときに私が取得FaultEventオブジェクトの一部ですので、私は
protected function onFaultEvent(e:FaultEvent):void
{
var obj:Object = e.fault;
var err:XMLList = obj.element.detail.children()[0].children();
// now I have in err the "Messages" list, subnode of ROException,
// so I should cycle to read one message at time:
for each (var x:XML in err.children())
{
//?
}
今、私はIDを読み取る方法を見つけ出すことはできません、重要度などの値:このような「T2gMsg」サブノードの値にアクセスしようとしています。 x.child( "ID")やx.elements( "ID")はnullを返しますが、 "x.ID"のようなものは動作するはずですが、そうではありません。私に何ができる?
- > "ID"、しかし私。インデックスではなく、x.IDまたはx ["ID"]やx.some_method( "ID")などの名前でID値にアクセスしたい –
私はif/elseの動きが起こっていると思います。 –
livedocsに見つかりました。ありがとうと思います。 –