Tomcat5.0.28下AXIS完全安裝手冊(cè) 2005-11-14 14:07 pm 作者:ipaddr 來(lái)自:linux寶庫(kù) (http://www.) 現(xiàn)存:http://www./3316.html 聯(lián)系:linuxmine#gmail.com 不明白,?歡迎到 linux論壇 (http://bbs.) 參加討論! 網(wǎng)上有一些AXIS的安裝文檔,不是很詳細(xì),而且,我按網(wǎng)上的資料安裝得不是很成功,老是報(bào)錯(cuò),可能是因?yàn)槭褂昧溯^新版本的Tomcat,AXIS. 經(jīng)過多番努力,,終于配置成功,把安裝過程和心得和大家分享一下. 一.簡(jiǎn)介 什么是SOAP?SOAP是一個(gè)應(yīng)用程序間的基于XML的通信工具和規(guī)范.SOAP最初由MicroSoft和Userland公司開發(fā),已經(jīng)演化了好幾個(gè)版本,當(dāng)前的版本SOAP1.1正飛速發(fā)展.W3C的XML協(xié)議工作組正努力把它發(fā)展為一個(gè)真正的開發(fā)的標(biāo)準(zhǔn).SOAP1.2草案已經(jīng)發(fā)布,它能澄清 1.1版規(guī)范的容易混淆的地方. 什么是Axis?Axis總體上是一個(gè)SOAP引擎,但又不僅僅是個(gè)引擎,它還:1)是一個(gè)簡(jiǎn)單的獨(dú)立的服務(wù)器2)是一個(gè)可插入到servlet引擎(如Tomcat)中的服務(wù)3)可擴(kuò)展的支持WSDL4)能根據(jù)WSDL產(chǎn)生JAVA文件/類5)包括一些例子程序6)包括一個(gè)可以監(jiān)控TCP/IP包的工具 Axis起源于IBM的SOAP4J,是Apache SOAP的第三代產(chǎn)品,相對(duì)于以前的版本,它有如下特性:1)快速,它使用了基于事件的SAX解析機(jī)制.2)靈活,用戶可以靈活定制擴(kuò)展.3)穩(wěn)定,接口將會(huì)變動(dòng)很小.4)基于組件開發(fā).5)支持WSDL1.1 二.準(zhǔn)備 1.安裝Tomcat5.0.28,這是當(dāng)前穩(wěn)定版本.Tomcat運(yùn)行在80端口.訪問http://localhost/檢查Tomcat是否安裝成功. (Tomcat+Apache+Mysql的整合安裝,詳見另外一篇.) 2.下載AXIS: 官方站點(diǎn):http://xml./axis/index.html 下載軟件:axis-bin-1_2_1.tar.gz 3.下載相關(guān)包: a.mail.jar 下載地址:http://java./products/javamail b.activation.jar 下載地址:http://java./products/javabeans/glasgow/jaf.html c.xerces.jar 下載地址:http://xml./xerces-j/index.html d.xmlsec-1.2.1.jar 下載地址:http://xml./security/ 三.安裝 1.將四個(gè)相關(guān)包,全部拷到<CATALINA_HOME>/common/lib目錄(Tomcat安裝目錄下的common/lib)下 2.解壓axis-bin-1_2_1.tar.gz,將壓縮包里的webapps/axis拷到網(wǎng)站根目錄下(如果Tomcat是默認(rèn)配置,那就是<CATALINA_HOME>/webapps/ROOT目錄). 3. 修改Tomcat的配置文件server.xml(<CATALINA_HOME>/conf/server.conf) 在</Host>前加入: <Context path="/axis" docBase="C:\Program Files\Apache Software Foundation\Tomcat\webapps\ROOT\axis" debug="0" reloadable="true" > </Context> (docBase里是你的實(shí)際axis存放的目錄) 注意,此步至關(guān)重要,AXIS的安裝文檔中沒有提到此步,導(dǎo)致很多人安裝不成功. 如果沒有此步,訪問http://localhost/axis時(shí),提示如下錯(cuò)誤: Can‘t find bundle for base name i18n, locale en_US(zh_CN) 表面是上看i18n國(guó)際化的問題,但既使i18n.properties,i18n_zh_cn.properties存在,也無(wú)法找到. 網(wǎng)上很多朋友安裝到此,無(wú)法繼續(xù)下去,我也找了很多資料,都沒有解決.后來(lái)查看Tomcat的文檔,猜測(cè)是Tomcat配置的問題,經(jīng)測(cè)試,終于成功. 可能Tomcat的前期版本,不需此設(shè)置.沒有測(cè)試過. 另外,也可以將axis/WEB-INF/classes/*,axis/WEB-INF/lib/*的所有文件,拷到<CATALINA_HOME>/common/lib/這個(gè)方法比較麻煩. 注:AXIS客戶端,需要拷貝axis/WEB-INF/lib/*到<CATALINA_HOME>/common/lib/ 四.測(cè)試 重新啟動(dòng)Tomcat. 1.訪問:http://localhost/axis 點(diǎn)擊:Validation - Validate the local installation‘s configuration測(cè)試是否有錯(cuò). 2. 寫個(gè)小程序: public class HelloService { public String sayHello(String username) { return "Hello:"+username; } } 另存為axis目錄下HelloService.jws 再能過WEB訪問: http://loalhost/axis/HelloService.jws http://loalhost/axis/HelloService.jws?method=sayHello¶meter=ipaddr 另外,,如果是Apache+Tomcat整合在一塊,,以上配置后,,還需要更改Apache的配置,在httpd.conf中加入: JkMount /axis/* ajp13 通過Apache可以訪問axis的Servlet 五.AXIS介紹補(bǔ)充 Apache Axis是Apache WebService項(xiàng)目中的子項(xiàng)目,,其最初起源于IBM的"SOAP4J",,應(yīng)該屬于最早的一批用于構(gòu)造基于SOAP應(yīng)用的Framework。 目前Apache Axis已經(jīng)發(fā)展到了第三代,,其核心是一個(gè)SOAP處理器,,用于開發(fā)包括客戶端,服務(wù)器端,,SOAP Gateway等各種應(yīng)用,。事實(shí)上Apache Axis在了1.0版后,其發(fā)行版本還包括了完整的J2EE服務(wù)器插件, WSDL支持和生成,,TCP/IP監(jiān)視器等組件,,從這個(gè)意義上來(lái)說(shuō)Apahce Axis已不僅僅是個(gè)SOAP框架了,它包含了除了UDDI外對(duì)整個(gè)Web Service協(xié)議棧(Protocol Stack)的支持,。 對(duì)大多數(shù)關(guān)心Macromedia產(chǎn)品的人來(lái)說(shuō),,Macromedia是Axis小組的核心成員之一,他們?cè)趲缀跛蠮2EE服務(wù)器端的產(chǎn)品線中包含了 Axis,,也就是說(shuō)Macromedia對(duì)WebService的支持是通過Apache Axis實(shí)現(xiàn)的,,這其中包括了JRun, Flex, ColdFusion,。即便是Flash Remoting,由于其核心還是SOAP,所以也是使用了Axis的SOAP框架,。 和.NET 的WS不同,Axis是一個(gè)非常易于擴(kuò)展的體系結(jié)構(gòu),,其設(shè)計(jì)的核心思想是建立一個(gè)數(shù)據(jù)處理的管道,,通過把handler編織成一條處理鏈從而無(wú)限擴(kuò)展其可能性。打個(gè)比方,在輸入部分開發(fā)人員既可以編寫基于HTTP Basic Authentication的用戶驗(yàn)證模塊也可以插入SOAP Auth模塊用于驗(yàn)證請(qǐng)求,,而輸出部分既可以通過XML binding把結(jié)果輸出為SOAP XML也可以象Flash Remoting那樣把結(jié)果輸出成binary格式,。 同時(shí)Axis也提供了所有的處理模塊,使得用戶能在最快的時(shí)間把服務(wù)器組件發(fā)布成WS.總的來(lái)說(shuō)Axis有以下幾個(gè)特點(diǎn): 速度 - Axis 使用 SAX 而不是 DOM 來(lái)處理XML請(qǐng)求,所以速度上有很大的改善,。 靈活性 - 剛才也提到了,,Axis的體系結(jié)構(gòu)是一個(gè)全開放式的處理器,所以擴(kuò)展模塊極為方便,。面向組件的發(fā)布方式 - 處理鏈上可重復(fù)使用組件來(lái)完成類似的操作,。 Transport 框架 - Axis的核心和底層的transport完全分離,也就是說(shuō)不管WS的Transport是HTTP, FTP, MAIL, MESSAGE QUEUE,只要插入對(duì)應(yīng)的Transport模塊即可,,而不需改動(dòng)其他部分,。 WSDL1.1支持 - 可自動(dòng)由Java Object生成WSDL |
|