这个组件和SOAP Toolkit中的“Using a Low Level API for SOAP Messages”这个例子程序是相同的,但是我们把工程的名字改成了SOAPCalc。假如你没有安装Visual Basic,也可以直接下载编译过的CalcServ安装程序(见参考)。安装程序将复制并注册所有需要的文件。本文后面的zip包中有这个例子的VB代码,以及编译好的DLL文件。
function calculate (operator, a, b) { ... var SOAPCalc = new SOAP.SOAP(); SOAPCalc.onLoad = displayCalcResult; ... } 然后,使用内建的SOAP方法createMethod() 和 addParameter() 定义远端过程调用的类型。SOAP对象假定服务器应用程序期望的节点和调用的方法同名。并且返回一个名称为[方法名]Response的节点。 (比如 AddResponse)。 代码如下:
function calculate (operator, a, b) { ... SOAPCalc.createMethod(operator); SOAPCalc.addParameter("A", a); SOAPCalc.addParameter("B", b); ... } 最后,使用SOAP对象的方法send(),把请求发送到前面建立的SOAP监听器的地址上。
function calculate (operator, a, b) { ... SOAPCalc.send ("http://localhost/SOAPCalc/default.asp"); ... } 注:因为安全问题,Flash播放器限制SOAP请求和影片在一个子域中。Macromedia将发布一个修正版的播放器,以便解决这一问题。