#!/usr/bin/perl use soap::transport::http; use world; soap::transport::http::cgi dispatch_to('world') -> handle;
我們要做的就只有這些,剩下的部分全都交給soap模塊來處理就行了。你必須為每個你打算呼叫的soap類別都分別寫一個類似上面的cgi程序。此外要注意的是,在上面的 dispatch_to() 方法里面所用到的參數就是你想要連結的soap類別的名稱。在編寫soap類別的時候要注意這些類別必須和其它類別一樣,一定要有一個名為 new 的方法(method)$self來做為呼叫其它方法時所使用的第一個參數。把包裝名稱(package name)放在程序代碼的第一行,然后把這個模塊以 .pm 做為擴展名儲存起來(請參考前面提到的world類別范例程序)。
soap::lite 也可以根據所要求的名稱來動態加載不同的模塊,這項功能可以讓我們編寫一個能夠加載某個目錄中任何一個模塊的cgi程序。這種做法比較缺乏安全性,而且也比較不容易控制究竟要加載哪個模塊,不過把各個soap模塊統一放置在同一個目錄下,在檔案管理上的確會比較方便。要動態加載不同的soap模塊,我們必須把相關的 use 敘述拿掉,并且把存放soap模塊檔案的目錄路徑當成dispatch_to() 方法的第一個參數:
#!/usr/bin/perl use soap::transport::http; soap::transport::http::cgi dispatch_to('/home/httpd/soap_modules/') -> handle;