spacer
Yehuda Shiran March 31, 2002
Validating the Web Service Response
Tips: March 2002

Yehuda Shiran, Ph.D.
Doc JavaScript

Developer News
Eclipse Helios Update Brings New PHP Tools
Internet Explorer 9 Ups Standards Support
JBoss Portal 5 Release Easier to Use

When attaching the webservice behavior to a DIV element, you need to define the ONRESULT event handler. For example:

<DIV ID="service" STYLE="behavior:url(webservice.htc)" 
  ONRESULT="onWSresult()"></DIV>
The onWSresult() function handles the returned event object. We first check that the call to the Web service was successful. Failure is detected by checking two conditions. The first condition is that event.result.error is a non-zero number (true). The other condition is that the ID returned inside the response (event.result.id) is the same as the ID returned by callService() at the time of the request (iCallID). When the call to the Web service is not successful, we print an error message, including three properties of the errorDetail object: code, string, and raw. Their aim is to give the user as much information as possible for understanding where the problem is.

Here is the full listing of onWSresult():

function onWSresult() {
  if((event.result.error)&&(iCallID==event.result.id)) {
    res.innerText  = event.result.errorDetail.code;
    res.innerText+="\n"+ event.result.errorDetail.string;
    res.innerText+= "\n"+event.result.errorDetail.raw;
  } else if ((!event.result.error) && (iCallID == event.result.id)) {
           var xmldoc=new ActiveXObject("MSXML2.DOMDocument.3.0");
           xmldoc.async=false;
           xmldoc.loadXML(event.result.value);
           var xsldoc=new ActiveXObject("MSXML2.DOMDocument.3.0");
           xsldoc.async=false;
           xsldoc.load("./stock.xsl");
           res.innerHTML=xmldoc.transformNode(xsldoc);
         } else {
             alert("Something else fired the event!");
           }
  document.body.style.cursor = "default";
}
Learn more about consuming the StockQuote Web service from Column 105, Web Services, Part X: Consuming the StockQuote.


People who read this tip also read these tips:

Look for similar tips by subject:

webref The latest from WebReference.com Browse >
Flashmaps' DynamicLocator: Interactive Maps for Small Areas · Flashmaps' AreaSelector: Interactive Maps for Wide Areas · The DB Mapper: Interactive Street-level Maps of U.S. and Canada
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
MS Access and MySQL · Cisco AutoQoS: VoIP QoS for Mere Mortals · While VoIP Adoption Explodes in Enterprise, Carrier Spending Lags