• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 181, 文章 - 2, 評(píng)論 - 85, 引用 - 0
            數(shù)據(jù)加載中……

            5月27日-----axis 終于配置好了

            經(jīng)過(guò)了兩天多的摸索,axis終于配置成功了。步驟其實(shí)很簡(jiǎn)單的,主要是關(guān)于classpath的配置。axis主頁(yè)上安裝向?qū)鋵?shí)寫的明白了,鑒于研究Web Service的人都是有一定java基礎(chǔ)的人,所以上面并沒(méi)有詳細(xì)說(shuō)明關(guān)于classpath的設(shè)置。像我這樣的java新手自然要走很多彎路,沒(méi)辦法的事情,這是學(xué)習(xí)的一個(gè)過(guò)程。

            axis的配置很簡(jiǎn)單,過(guò)程如下
            1. 將axis-src-1_2_1這個(gè)包解壓后,將axis-1_2_1\webapps下axis的所有東西拷貝到你剛剛建立的TOMCAT的webapps下。目錄結(jié)構(gòu)如下:
            然后查看一下你的axis的WEB-INF的lib下*.jar文件是否全,應(yīng)該有8個(gè)
            axis.jar
            axis-ant.jar
            commons-discovery-0.2.jar
            commons-logging-1.0.4.jar
            jaxrpc.jar
            log4j-1.2.8.jar
            saaj.jar
            wsdl4j-1.5.1.jar
            (一定看好各個(gè)文件的文件名,一會(huì)將配置CLASSPATH)
            axis的安裝向?qū)н€要求其他的幾個(gè).jar文件,包括xerces.jar,和mail.jar.這些都可以在Apache網(wǎng)站上找到/
            2. 然后到axis-1_2_1目錄下,找到lib文件夾,拷貝其中的activation.jar文件,到
            Tomcat\webapps\axis\WEB-INF\lib,和上面的8個(gè)jar文件在一起,就OK了。
            3.剩下的就是整個(gè)過(guò)程中最為關(guān)鍵的部分,如果弄不好你需要走很彎路的。
            關(guān)于classpath?的設(shè)置,包括兩部分。一. 有關(guān)Tomcat的classpath的設(shè)置,這一部分是最容易被忽視的,很多關(guān)于axis的安裝的文章都沒(méi)有講。這就使你在后面遇到很多問(wèn)題,首先如果這部分沒(méi)有設(shè)置,即使你后面關(guān)于axis的classpath設(shè)置的完全正確,在編寫客戶端測(cè)試Web?Service?是也會(huì)出現(xiàn)錯(cuò)誤。而且這時(shí)候,你的axis已經(jīng)可以運(yùn)行,你寫的簡(jiǎn)單的HelloWorld.jws也沒(méi)什么問(wèn)題,能看到相應(yīng)的SOAP消息。但是你的客戶端程序卻出問(wèn)題了,你可以正常編譯,不會(huì)出現(xiàn)錯(cuò)誤。但運(yùn)行時(shí)會(huì)出現(xiàn)諸如Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis/client/Service此類的異常,這種錯(cuò)誤通常是最令人痛苦的。
            關(guān)于Tomcat的classpath一要注意,如果你是通過(guò)Windows安裝程序安裝時(shí),這是你的系統(tǒng)中已經(jīng)有了TOMCAT_HOME,和JAVA_HOME 環(huán)境變量,此時(shí)你要做的就是添加classpath環(huán)境變量(如果你還沒(méi)有添加的話,具體做法我就不用說(shuō)了,很簡(jiǎn)單的基礎(chǔ)知識(shí)),classpath的設(shè)置如下
            classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(.;是必需的,它指代當(dāng)前目錄)
            然后修改環(huán)境變量中的classpath,把tomat安裝目錄下的common\lib下的(可以根據(jù)實(shí)際追加)servlet.jar追加到classpath中去,修改后的classpath如下:
            classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
            4.接下來(lái)就是關(guān)于axis的環(huán)境變量的設(shè)置了,向?qū)现v的很清楚。就把原文直接考過(guò)來(lái)

            On Windows, this can be done via the following. For this document we assume that you have installed Axis in C:\axis. To store this information permanently in WinNT/2000/XP you will need to right click on "My Computer" and select "Properties". Click the "Advanced" tab and create the new environmental variables. It is often better to use WordPad to create the variable string and then paste it into the appropriate text field.

            set AXIS_HOME=c:\axis
            set AXIS_LIB=%AXIS_HOME%\lib
            set AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar;
              %AXIS_LIB%\commons-logging.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
            注意一點(diǎn),.jar文件要與你的解壓的axis目錄中的文件名一致,由于版本問(wèn)題,文件名可能不一致。
            5 .  測(cè)試
            下面是一個(gè)簡(jiǎn)單的WebService, 供測(cè)試使用
            (代碼是轉(zhuǎn)貼,呵呵)
            import?java.util.*;
            ?
            public?class?wsTestService
            {
            ??String?strName?
            =?"Ryun";
            ??
            int?intAge?=?21;
            ??List?items?
            =?new?ArrayList();
            ??
            ??
            public?String?getName()?{
            ????
            return?strName;
            ???}

            ??
            ??
            public?int?getAge()?{
            ????
            return?intAge;
            ???}

            ??
            ??
            public?List?getItems()?{
            ????
            return?items;
            ???}

            ??}

            將此文件命名為 wsTestService.jws 存放到
            Tomcat的\webapp\axis\目錄下
            訪問(wèn) http://localhost:8080/axis/wsTestService.jws, 出現(xiàn) "There is a Web

            Service here"即表明 Web Service 服務(wù)端程序安裝完成.
            開(kāi)發(fā)一個(gè) Web Service 客戶端程序
            建立客戶端程序wsTestClient.java
            以下是客戶端的源程序, 用于向 Web Service Server 提交服務(wù)請(qǐng)求:

            import?org.apache.axis.client.Call;
            import?org.apache.axis.client.Service;
            ?
            public?class?wsTestClient?{
            ??
            public?static?void?main(String?args[])?{
            ????System.out.println(
            "Start?invoking");
            ????
            try?{
            ??????String?strUri?
            =?

            "http://localhost:8080/axis/wsTestService.jws";
            ??????Service?service?
            =?new?Service();
            ??????Call?call?
            =?(Call)
            ??????service.createCall();
            ??????call.setTargetEndpointAddress(
            new?

            java.net.URL(strUri));
            ??????call.setOperationName(
            "getName");
            ??????String?ret?
            =?""?+?call.invoke(new?Object[]?{});
            ??????System.out.println(
            "I?am?"?+?ret?+?".");
            ?????}

            ????
            catch?(Exception?e)?{
            ??????System.err.println(e.toString());
            ?????}

            ????System.out.println(
            "Finished?the?invoking.");
            ????}

            }
            然后編譯運(yùn)行,如果出現(xiàn)問(wèn)題,那可能是環(huán)境變量path,classpath配置的問(wèn)題,自己查看

            一下,這里就不再描述了。
            C:\>cd \
            C:\>javac wsTestClient.java
            ?
            C:\>java wsTestClient
            Start invoking...
            I am Ryun.
            Finished the invoking.
            完成,再去學(xué)習(xí),稍后總結(jié)
            但這時(shí)還有一個(gè)問(wèn)題,我還沒(méi)有解決,關(guān)于log4j的一個(gè)warn,不知道該如何配置log4j,懶得再去找答案了。axis的相關(guān)問(wèn)題搜索了兩天了才有個(gè)結(jié)果,log4j的問(wèn)題以后有時(shí)間再弄吧。

            By Tory

            posted on 2006-05-27 12:32 wsdfsdf 閱讀(2094) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 交流心得

            評(píng)論

            # re: 5月27日-----axis 終于配置好了   回復(fù)  更多評(píng)論   

            AXISCLASSPATH不加到classpath里面去嗎?

            我是java初學(xué)者,已經(jīng)配置好了classpath結(jié)果還是要報(bào)錯(cuò)
            Exception in thread "main" java.lang.NoClassDefFoundError: QuoteClient

            我的測(cè)試文件是在http://www.ncsa.uiuc.edu/people/ramonw/ws_demo/axisdemo.html上下載的,編譯已經(jīng)通過(guò)了.

            我的classpath=.;%AXISCLASSPATH%;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\lib\servlet.jar;

            每個(gè)包文件我都有確認(rèn),但是還是不行,請(qǐng)指教.
            2007-05-06 14:19 | snail

            # re: 5月27日-----axis 終于配置好了   回復(fù)  更多評(píng)論   

            通過(guò)了和你的結(jié)果一樣
            你知道嗎就因?yàn)榄h(huán)境設(shè)置我高調(diào)試的時(shí)候一直沒(méi)好使
            看到你的這篇文章真是太神奇了
            真的很感謝你
            2008-07-16 16:47 | 淘淘
            久久久久久久99精品免费观看| 99久久免费只有精品国产| 久久久这里只有精品加勒比| 思思久久精品在热线热| 久久精品天天中文字幕人妻| 精品欧美一区二区三区久久久| 中文字幕精品无码久久久久久3D日动漫 | 人妻精品久久久久中文字幕一冢本| 日韩AV无码久久一区二区| 国产精品免费久久| 久久人人爽人人爽人人片AV不| 久久国产乱子伦精品免费强| 精品无码久久久久国产动漫3d| 99久久国产亚洲高清观看2024| 色天使久久综合网天天| 99久久精品免费| 狠狠色丁香久久婷婷综合五月 | 久久亚洲国产精品一区二区| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 精品乱码久久久久久夜夜嗨| 国内精品伊人久久久久AV影院| 久久这里有精品视频| 久久亚洲国产中v天仙www| 伊人久久无码中文字幕| 无码任你躁久久久久久老妇| 久久久久久a亚洲欧洲aⅴ| 久久精品国产亚洲AV嫖农村妇女 | 狠狠色伊人久久精品综合网| 久久人人爽人人爽人人av东京热| 国产99久久久国产精品~~牛| 久久夜色精品国产欧美乱| 性欧美丰满熟妇XXXX性久久久| 久久婷婷人人澡人人爽人人爱| 久久久久久久91精品免费观看 | 久久青青草原精品国产| 亚洲精品美女久久777777| 色欲综合久久中文字幕网| 丁香色欲久久久久久综合网| 亚洲国产精品久久电影欧美| 亚洲中文字幕无码久久精品1|