Rev | Line | |
---|
[1227] | 1 | package gov.va.med.edp.business.responder
|
---|
| 2 | {
|
---|
| 3 | import mx.rpc.Fault;
|
---|
| 4 | import mx.rpc.IResponder;
|
---|
| 5 | import mx.rpc.events.FaultEvent;
|
---|
| 6 | import mx.rpc.events.ResultEvent;
|
---|
| 7 |
|
---|
| 8 | /**
|
---|
| 9 | * Responder that checks the result for <error> tags produced by the server. If found, calls fault on
|
---|
| 10 | * decorated responder, if not, passes through result unmodified.
|
---|
| 11 | */
|
---|
| 12 | public class ServerErrorCheckResponder extends ResponderDecorator implements IResponder
|
---|
| 13 | {
|
---|
| 14 | public function ServerErrorCheckResponder(responder: IResponder) {
|
---|
| 15 | super(responder);
|
---|
| 16 | }
|
---|
| 17 |
|
---|
| 18 | public override function result(data:Object):void {
|
---|
| 19 | var xml:XML = ResultEvent(data).result as XML;
|
---|
| 20 | if (xml.error != undefined) {
|
---|
| 21 | var fault:Fault = new Fault(xml.error.code, xml.error.message, xml.error.detail);
|
---|
| 22 | fault.rootCause = xml.error;
|
---|
| 23 | var faultEvent:FaultEvent = FaultEvent.createEvent(fault);
|
---|
| 24 | this.fault(faultEvent);
|
---|
| 25 | } else {
|
---|
| 26 | responder.result(data);
|
---|
| 27 | }
|
---|
| 28 | }
|
---|
| 29 | }
|
---|
| 30 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.