的Web服务回报给我的flex3客户这个自定义异常:如何访问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对象时,远程调用失败,我得到的一部分,所以我尝试访问“T2gMsg”子节点的值是这样的:
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,严重程度等价值观。我认为像“x.ID”应该工作,但它不是,而x.child(“ID”)或x.elements(“ID”)返回null。我能做什么?
对不起,我不明白,我知道XML(x.children()[0])的localName()的toString() - > “ID”,但我。想要按名称访问ID值,如x.ID或x [“ID”]或x.some_method(“ID”),而不是索引。 – 2009-09-02 11:26:06
我想会有一些if/else动作在进行。 – 2009-09-02 12:51:26
发现它在livedocs,无论如何感谢 – 2009-09-02 15:19:45