這個組件和SOAP Toolkit中的“Using a Low Level API for SOAP Messages”這個例子程序是相同的,但是我們把工程的名字改成了SOAPCalc。假如你沒有安裝Visual Basic,也可以直接下載編譯過的CalcServ安裝程序(見參考)。安裝程序?qū)?fù)制并注冊所有需要的文件。本文后面的zip包中有這個例子的VB代碼,以及編譯好的DLL文件。
function calculate (operator, a, b) { ... var SOAPCalc = new SOAP.SOAP(); SOAPCalc.onLoad = displayCalcResult; ... } 然后,使用內(nèi)建的SOAP方法createMethod() 和 addParameter() 定義遠(yuǎn)端過程調(diào)用的類型。SOAP對象假定服務(wù)器應(yīng)用程序期望的節(jié)點(diǎn)和調(diào)用的方法同名。并且返回一個名稱為[方法名]Response的節(jié)點(diǎn)。 (比如 AddResponse)。 代碼如下:
function calculate (operator, a, b) { ... SOAPCalc.createMethod(operator); SOAPCalc.addParameter("A", a); SOAPCalc.addParameter("B", b); ... } 最后,使用SOAP對象的方法send(),把請求發(fā)送到前面建立的SOAP監(jiān)聽器的地址上。
function calculate (operator, a, b) { ... SOAPCalc.send ("http://localhost/SOAPCalc/default.asp"); ... } 注:因?yàn)榘踩珕栴},F(xiàn)lash播放器限制SOAP請求和影片在一個子域中。Macromedia將發(fā)布一個修正版的播放器,以便解決這一問題。