曝光臺 注意防騙
網(wǎng)曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
d o c u m e n t E l e m e n t作為X M L文件的根:
程序清單11 - 6 0
該文件最后的< b o o k >元素用l a s tCh i l d()方法找到,將被加入的新元素的書籍I D比最后元
素的書籍I D大得多,并被屬性b o o k i d定義。
程序清單11 - 6 1
用C r e a t e E l e m e n t()方法來創(chuàng)建一個新的< b o o k >元素并附加到文件后面,然后設置兩個屬
性,即已經(jīng)得到的I D屬性和出版日期屬性,該屬性在R P C調(diào)用里也被作為一個參數(shù)被傳送。
< t i t l e >元素也被創(chuàng)建,并被附加成為新的< b o o k >元素的子結點,該< t i t l e >元素的值從X M L -
R P C調(diào)用中被傳送的參數(shù)中獲得。
程序清單11 - 6 2
462使用XML 高級編程
下載
創(chuàng)建一個< a u t h o r s >元素并加入被作為參數(shù)傳入的每一個作者(每位作者都以逗號隔開),成
為< a u t h o r >元素。該元素是< a u t h o r s >的子元素, < a u t h o r s >元素隨后被附加到雙親< b o o k >元素。
程序清單11 - 6 3
隨后< s u b j e c t >元素被創(chuàng)建并被附加到< b o o k >元素(該元素早些時候已經(jīng)創(chuàng)建),主題文本被
設置成一個X M L - R P C參數(shù)來傳送。隨后, < b o o k >自身代表一本新書被加到文檔根目錄。
程序清單11 - 6 4
最后,用Microsoft XML執(zhí)行工具的s a v e()方法保存X M L文檔,用它被更新的結構和返回
的被加入書籍的I D作為對X M L - R P C調(diào)用的響應:
程序清單11 - 6 5
第11章服服務器到服務器使用463 下載
11.3.6 到哪里去
下面這個清單展示了一些不同的實現(xiàn)工具和得到它們的站點:
• XML-RPC client for Python,由P y t h o n Wa r e提供:h t t p : / / w w w. p y t h o n w a r e . c o m / x m l r p c /
• XML-RPC client/server for Java,由Hannes Wa l l n ö e f提供:h t t p : / / h e l m a . a t / h a n n e s / x m l r p c /
• XML-RPC client for Java, 由Josh Lucas提供:h t t p : / / w w w. s t o n e c o t t a g e . c o m / j o s h / r p c C l i e n t . h t m l /
• XML-RPC client/server for Perl,由Ken Ma c L e o d提供:h t t p : / / b i t s k o . s l c . u t . u s / ~ k e n / x m l - r p c /
• XML-RPC in Tcl, 由Steve Ball提供:h t t p : / / w w w. z v e n o . c o m / z m . c g i / i n - t c l x m l / i n - x m l r p c . t m l
• XML-RPC client/server for ASP, 由David Carter- To d提供:h t t p : / / w w w. w c . c c . v a . u s / d t o d / X M L R P C /
• XML-RPC client COM, 由Steven Livingstone提供:h t t p : / / w w w. d e l t a b l z . c o m / x m l r p c / d e f a u l t . a s p
• XML-RPC client/server PHP,由Useful Int.公司提供:h t t p : / / u s e f u l i n c . c o m / x m l r p c /
在F r o n t i e r和Zope 2.0也有內(nèi)置的X M L - R P C支持( h t t p : / / w w w. Z o p e . o rg / D o w n l o a d / R e l e a s e s / Z o p e -
2 . 0 . 0 1 )。
1. ASP
所有文件,包括客戶或者服務器的,只要參于了X M L - R P C的方法調(diào)用,均需要在頂端將文
件x m l r p c . a s p包括進來。通過X M L - R P C調(diào)用一個方法,將使用如下語法:
程序清單11 - 6 6
目前的實現(xiàn)需要MS Internet Explorer 5 和在h t t p : / / w w w. a l p h a s i e r r a p a p a . c o m / l i s D e v /
C o m p o n e n t s /上的免費軟件A S P Te a r組件。在服務器上, Alvaro Redondo的免費B a s e 6 4編碼庫也
必須注冊(使用M S D O S上的r e g s v r 3 2工具)。
2. COM
XML-RPC COM客戶實現(xiàn)是本書的作者自己( Steven Livingstone)寫的,目前,它正在
X M L - R P C領域測試,D L L可免費從h t t p : / / w w w.deltebiz.com/ xmlrpc/ default.asp上得到,它將使
用r e g s v r 3 2工具注冊。
目前,P r o g I D是d e l t a b i z . x m l r p c C l i e n t,用V B S c r i p t可以執(zhí)行一個X M L - R P C調(diào)用:
程序清單11 - 6 7
在表11 - 3中。
464使用XML 高級編程
下載
表11 - 3
參數(shù)意義
U R L X M L - R P C服務器的地址
P r o x y U R L 代理服務器的U R L,如果不用代理,可設置為“”
P r o x y U s e r N a m e 使用代理的用戶名,如無代理,應使用“”
P r o x y P a s s w o r d 使用的代理的口令,如無代理,應使用“”
m e t h o d N a m e 將調(diào)用的遠程方法的名字
p a r a m e t e r A r r a y 方法的參數(shù)
P r o x y版需要A S P Te a r的商業(yè)版,其他版本均可用免費版本。
3. Java
有兩個J a v a的實現(xiàn)工具,一個客戶/服務器程序來自于Hannes Wa l l n ö f e r,一個客戶程序來自
Josh Lucas。
第一個必須內(nèi)置在H T T P服務器上。一個X M L解析器必須能在此系統(tǒng)上使用。因為X M L -
R P C庫使用S A X,你應該使用一個下載區(qū)列出的建議使用的解析器,盡管默認的是Jamas Clark
的比較流行的X T解析器。這個站點還有A P I文檔和一個郵件列表。
Josh Lucas 有一個基于J a v a的X M L - R P C客戶程序。下載文檔應被包括在你的類路徑
(c l a s s p a t h)里,且c o m . b a r i s t a . *應該被引入。
也有許多用P y t h o n 、P e r l 、Tc l 和P H P 編寫的實現(xiàn)工具— 所有這些均可以從
http://www.xmlrpc.com/這一XML-RPC站點下載。
11.4 SOAP
X M L - R P C由于其簡單性獲得了廣泛的支持,使用它有事半功倍的效果,其代碼的編寫簡單
到幾乎可以使用任何語言—在許多平臺—在遠程服務器上執(zhí)行。既然許多We b程序員熟悉提
中國航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(144)