日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

JDK tomcat Axis的安裝使用

系統(tǒng) 2156 0

一.簡(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)備
應(yīng)用Axis開發(fā)Web Services,你需要安裝如下軟件:
1.jdk1.5
2.安裝Tomcat5.0.28,這是當(dāng)前穩(wěn)定版本.Tomcat運(yùn)行在80端口.訪問 http://localhost/8080 檢查Tomcat是否安裝成功.
3.下載AXIS:
官方站點(diǎn):http://xml.apache.org/axis/index.html
下載軟件:axis-bin-1_2_1.tar.gz
4.下載相關(guān)包:
a.mail.jar 下載地址:http://java.sun.com/products/javamail
b.activation.jar 下載地址:http://java.sun.com/products/javabeans/glasgow/jaf.html
c.xerces.jar 下載地址:http://xml.apache.org/xerces-j/index.html
d.xmlsec-1.2.1.jar 下載地址:http://xml.apache.org/security/

三.安裝
1.將jdk1.5.0_04安裝在D:\jdk1.5.0_04下(當(dāng)然安裝路徑可任意選)好后,環(huán)境變量配置如下:
JAVA_HOME=D:\jdk1.5.0_04
CLASSPATH=.;D:\jdk1.5.0_04\jre\lib\rt.jar;D:\jdk1.5.0_04\jre\lib\tools.jar
Path=D:\jdk1.5.0_04\bin
2.tomcat-5.0.28安裝在D:\tomcat-5.0.28下(安裝路徑可任選)好后,環(huán)境變量配置如下:
CATALINA_BASE=D:\tomcat-5.0.28
CATALINA_HOME=D:\tomcat-5.0.28
3.axis的安裝
a.將下載的Axis軟件包解壓縮,將其中的“webapps”目錄下的“axis”目錄整個(gè)拷貝到Tomcat安裝目錄下的“webapps”目錄下。
b.將mail.jar、activation.jar、xerces.jar、xmlsec-1.2.1.jar四個(gè)包,全部拷到D:\tomcat-5.0.28\webapps\axis\WEB-INF\lib下
c.環(huán)境變量配置
AXIS_HOME=D:\tomcat-5.0.28

AXIS_LIB=%AXIS_HOME%\WEB-INF\lib
AXISCLASSPATH=%AXIS_LIB%\activation.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\mail.jar;AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\xerces.jar;%AXIS_LIB%\xmlsec-1.2.1.jar

CLASSPATH=%AXIS_HOME%\WEB-INF\lib
AXISCLASSPATH=%AXIS_LIB%\activation.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\mail.jar;AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\xerces.jar;%AXIS_LIB%\xmlsec-1.2.1.jar
這里有幾點(diǎn)需要注意:中間不要有空格,包的名字可能有不同的版本,這時(shí)需要修改一下包名。

四.測(cè)試
安裝配置完畢后,應(yīng)測(cè)試一下是否tomcat、Axis可以正確運(yùn)行了。
啟動(dòng)Tomcat服務(wù)器,在瀏覽器中訪問 http://localhost:8080/axis/happyaxis.jsp ,如果頁面顯示有錯(cuò)誤,則需要回頭檢查一下相關(guān)配置是否正確,如果瀏覽頁面能正確顯示出系統(tǒng)組件、屬性等參數(shù)配置信息,則表示安裝成功。現(xiàn)在可以開始開發(fā)你的Web Services應(yīng)用了。 

五、服務(wù)的發(fā)布
Axis提供了兩種服務(wù)發(fā)布方式,一種是即時(shí)發(fā)布(Instant Deployment),一種是定制發(fā)布(Custom Deployment)。

1. 使用即時(shí)發(fā)布 Java Web Service(JWS)

  對(duì)即時(shí)發(fā)布的支持是Axis的特色之一,使用即時(shí)發(fā)布使用戶只需有提供服務(wù)的Java類的源代碼,即可將其迅速發(fā)布成Web服務(wù)。每當(dāng)用戶調(diào)用這類服務(wù)的時(shí)候,Axis會(huì)自動(dòng)進(jìn)行編譯,即使服務(wù)器重啟了也不必對(duì)其做任何處理,使用非常簡(jiǎn)單快捷。

  使用即時(shí)發(fā)布首先需要一個(gè)實(shí)現(xiàn)服務(wù)功能的Java源文件,將其擴(kuò)展名改為.jws(Java Web Service的縮寫),然后將該文件放到“……\webapps\axis”目錄下即可。
?在此給出一個(gè)HelloWorld程序,其源碼如下:

HelloWorld.java

public class HelloWorld {
? public String sayHello()
? {
??? return "HELLO WORLD!";
? }
}


將其放到“……\webapps\axis”目錄,通過訪問 http://localhost:8080/axis/HelloWorld.jws?wsdl 可以看到這個(gè)服務(wù)的WSDL描述文件,這說明HelloWorld服務(wù)被成功發(fā)布了。
現(xiàn)在寫個(gè)客戶端程序訪問一下:

?1 TestClient.java
?2
?3 import ?org.apache.axis.client.Call;
?4 import ?org.apache.axis.client.Service;
?5
?6 import ?javax.xml.rpc.ParameterMode;
?7
?8 public ? class ?TestClient
?9 {
10 ??? public ? static ? void ?main(String?[]?args)? throws ?Exception? {
11 ???????
12 ???????String?endpoint? = ? " http://localhost: " ? + " 8080 " + ? " /axis/HelloWorld.jws " ; // 指明服務(wù)所在位置
13
14 ???????Service??service? = ? new ?Service();?? // 創(chuàng)建一個(gè)Service實(shí)例,注意是必須的!
15 ???????Call?????call???? = ?(Call)?service.createCall(); // 創(chuàng)建Call實(shí)例,也是必須的!
16
17 ?????call.setTargetEndpointAddress(? new ?java.net.URL(endpoint)?); // 為Call設(shè)置服務(wù)的位置
18
19 ????????call.setOperationName(? " sayHello " ?); // 注意方法名與HelloWorld.java中一樣!!
20
21 ?????????String?res? = ?(String)?call.invoke(? new ?Object[]? {} ?); // 返回String,沒有傳入?yún)?shù)
22
23 ?????????????????????????System.out.println(?res?);
24 ???}

25 }

26

?


下面我們介紹第二種發(fā)布方式,這是常用的。

我們的第二種發(fā)布方式:
1、將HelloWorld.java編譯成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes

????? 下

2、在%TOMCAT_HOME%\webapps\axis\WEB-INF下新建deploy.wsdd文件,即SOAP服務(wù)發(fā)布描述文件

???? deploy.wsdd

<deployment xmlns=" http://xml.apache.org/axis/wsdd/ " xmlns:java=" http://xml.apache.org/axis/wsdd/providers/java ">
??? <service name="HelloWorld" provider="java:RPC">
??????? <parameter name="className" value="HelloWorld"/>
??????? <parameter name="allowedMethods" value="sayHello"/>
??? </service>
</deployment>

在DOS下轉(zhuǎn)換目錄到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令:
java org.apache.axis.client.AdminClient deploy.wsdd 后會(huì)出現(xiàn)

Processing file deploy.wsdd
<Admin>Done processing</Admin>

這時(shí)你會(huì)發(fā)現(xiàn)目錄下多了一個(gè)server-config.wsdd文件,這就是AXIS的配置文件,以后所有的服務(wù)發(fā)布描述都會(huì)在里面找到。(當(dāng)然,你可以直接修改它,不用再寫deploy.wsdd)然后打開瀏覽器 http://localhost:8080/axis/services/HelloWorld?wsdl ,你就會(huì)看到你的服務(wù)已發(fā)布

同樣用客戶端程序訪問一下:(注意和上邊的差別!!)

?

?1 HelloClient.java
?2
?3 import ?org.apache.axis.client.Call;
?4 import ?org.apache.axis.client.Service;
?5
?6 public ? class ?HelloClient
?7 {
?8 ??? public ? static ? void ?main(String?[]?args)? throws ?Exception? {
?9
10 ???????String?endpoint? = ? " http://localhost: " ? + " 8080 " + ? " /axis/services/HelloWorld " ; // 注意!差別僅僅在這里!!
11
12 ???????Service??service? = ? new ?Service();
13 ???????Call?????call???? = ?(Call)?service.createCall();
14 ???????call.setTargetEndpointAddress(? new ?java.net.URL(endpoint)?);
15 ????????call.setOperationName( " sayHello " ??);
16
17 ?????????String?res? = ?(String)?call.invoke(? new ?Object[]? {} ?);
18
19 ?????????????????????????System.out.println(?res?);
20 ???}

21 }

22

?

五.總結(jié)

  Web Services是未來網(wǎng)絡(luò)應(yīng)用的發(fā)展方向,SOAP和WSDL是Web Services的核心協(xié)議,Axis給出了一個(gè)很好的SOAP實(shí)現(xiàn),它使得開發(fā)Web Services應(yīng)用變得輕松而有趣。

JDK tomcat Axis的安裝使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 昂仁县| 噶尔县| 鹤壁市| 阳曲县| 江西省| 泾源县| 托克托县| 阜平县| 马关县| 南城县| 毕节市| 临海市| 成武县| 兴安盟| 临朐县| 文昌市| 称多县| 佛教| 屏东县| 兴安盟| 孝义市| 龙井市| 兴宁市| 兴文县| 博白县| 永胜县| 九寨沟县| 荔波县| 长宁县| 五指山市| 汝州市| 苏尼特左旗| 南京市| 朝阳区| 蒲江县| 磐安县| 大关县| 阜平县| 舟山市| 赤壁市| 高尔夫|