call Object
This topic documents a feature of Binary Behaviors, which are obsolete as of Internet Explorer 10.
A script object that can be passed as a parameter to the callService method.
Members Table
The following table lists the members exposed by the call object.
Property Description async Specifies the mode of remote method invocation. endpoint A property of the call object that specifies an URL that can be used to obtain the Web Services Description Language (WSDL) for a Web Service. funcName Specifies the name of a remote function exposed by a Web Service. params A property of the call object that specifies an associative array of parameter values. password Specifies a password for Web Services that require user authentication. portName Specifies a port name that is used to access resources provided by a Web Service. SOAPHeader An Array of SOAP headers that overrides the default SOAP header generated by the WebService behavior. timeout Not supported. userName Specifies a user name for Web Services that require user authentication.
Remarks
The call object is used to specify additional parameters and information that are sometimes required by Web Services.
By default, the WebService behavior processes remote method invocations asynchronously. In order to specify the synchronous mode of operation, the async property of the call object must be set to false. Therefore, the call object must be passed to the fo parameter of the callService method in order for the WebService behavior to process remote methods synchronously.
Example
The following example illustrates how the call object can be used to invoke a remote method synchronously, using a call object, as seen in the doAdd function. The doSubtraction function uses asynchronous communication.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <LINK REL="stylesheet" HREF="/workshop/samples/samples.css" TYPE="text/css"> <SCRIPT language="JavaScript"> var iCallID; var callObj; function init() { // Establish the friendly name "MyMath" for the WebServiceURL service.useService("..\\..\\MathService.asmx?WSDL","MyMath"); // Disable the button that calls the method which uses synchronous // communication. The button is enabled in a function called by the // onserviceavailable event. doAddButton.disabled = true; service.onserviceavailable = enableButton(); } function enableButton(){ doAddButton.disabled = false; } function doAdd(x, y){ // Synchronous communication // Create the SOAPHeader object var headObj = new Object(); // Create the call object callObj = service.createCallOptions(); callObj.async = false; callObj.params = new Array(); callObj.params.a = x; callObj.params.b = y; callObj.funcName = "Add"; callObj.SOAPHeader = new Array(); callObj.SOAPHeader[0] = headObj; oSPAN.innerText = x + " + " + y + " = "; // The following uses a callback handler named "mathResults" iCallID = service.MyMath.callService(mathResults, callObj); mathResults(iCallID); } function doSubtraction(y, x){ // Asynchronous communication (the default) oSPAN.innerText = y + " - " + x + " = "; // Call the WebMethod in Math.asmx subtract. // The following example uses a callback handler named "mathResults" iCallID = service.MyMath.callService(mathResults, "Subtract", y, x); } function mathResults(result){ // If there is an error, and the call came from the call() in init() if(result.error){ // Pull the error information from the event.result.errorDetail properties var xfaultcode = result.errorDetail.code; var xfaultstring = result.errorDetail.string; var xfaultsoap = result.errorDetail.raw; oSPAN.innerText = xfaultcode + " " + xfaultstring + " " + xfaultsoap; }// If there was no error else{ // Show the arithmetic oSPAN.innerText += result.value; } } </SCRIPT> </HEAD> <body onload="init()"> <div id="service" style="behavior:url(../webservice.htc)"></div> <BR><BR> Equation : <SPAN id="oSPAN"></SPAN> <BR><BR> <BUTTON id="doAddButton" onclick="doAdd(5, 6);">Do Add function of 5 and 6</BUTTON> <BUTTON onclick="doSubtraction(6, 5);">Do Subtraction of 6 and 5</BUTTON> </body>
Applies To
WebService
See Also
callService, useService, Using the WebService Behavior, About the WebService Behavior