<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ZhipSoft.com
        冬去春來
            鄭重聲明:本Blog純屬個人學習、工作需要,記錄相關資料。請不要發表任何有人身攻擊的言論,謝謝!!www.ZhipSoft.com
    posts - 94,comments - 149,trackbacks - 0

        本文主要描述如何使用Apache開源項目Axis提供的API來實現Web Services。本文中的提到的例子只為了方便本文的描述而提出,有不妥之處請見諒。

        本文的讀者應有JAVA web 應用開發基礎。應該具有看過WSDL,SOAPXML等的基本規范。熟悉Eclipse+MyEclipse開發環境。

        本文可以隨意轉載使用,但是要保留作者的署名。

    一、環境準備

    使用Axis來開發Web services 需要準備 web 服務器,Axis API。本文使用的Web container Tomcat5.5, Axis API 采用版本2

    1.1軟件下載準備

    Tomcat下載地址:http://tomcat.apache.org/download-55.cgi#5.5.20

    Axis標準包:

    http://ftp.wayne.edu/apache/ws/axis2/1_0/axis2-std-1.0-bin.zip

    Axis War包:

    http://ftp.wayne.edu/apache/ws/axis2/1_0/axis2.war

    Axis Eclipse plug-in(代碼生成工具和打包工具):

    http://apache.justdn.org/ws/axis2/tools/1_0/Axis2_Code_Generator.zip

    http://apache.justdn.org/ws/axis2/tools/1_0/Axis2_Service_Archiver.zip

    Eclipse+MyEclipse可以到官方網站下載(本文為3.25.0GA

    1.2安裝

    A.首先搭建開發環境,需要將下載到的Eclipse解壓縮到一個目錄。

    B.將下載到的Axis 的兩個plug-in解壓縮到Eclipse安裝目錄下的plug-in子目錄。

    C.安裝MyEclipse5.0GA。然后啟動MyEclipse,并選擇“File->New->Other”可以找到下面的這些Wizards,這些將是本文中用到的很重要的工具。

     

    eclipse安裝Axis插件后的情況

                                 D.下面開始搭建Web Services的部署環境。將下載的

              tomcat報解壓縮到一個目錄。完成web container

              的安裝。

            E.axis2.war包拷貝到tomcat安裝目錄下的webapps

              目錄中。

     F.啟動Tomcat(windows 下為TOMCA_HOME/bin中的startup.bat;Linux,unix環境為startup.sh文件),打開瀏覽器輸入并訪問:http://ip:port/axis2來查看。(如果沒有進行陪孩子文件的修改此地址應該為http://localhost:8080/axis,如果能看到下面的頁面則說明已經安裝完成。

     

     

     

    驗證Axis2 web應用部署

    二、Quick Start

    環境準備好后,先從一個簡單的例子開始。以便對使用Axis來開發Web services的大致流程有個了解。這個例子就是SayHello,請求端輸入一個名字字符串,返回的將是一個問候語。

    例如:輸入了Tom,那么返回的事Hi,Tom.How are you?

    2.1編寫WSDL

    A.啟動MyEclipse,新建立一個WebAppsFile->New->Project->Web Project,Project Name SayHello,其他保持不改變。

    B.選擇File->New-Other菜單,進入后找到MyEclipse->Web Services并選擇WSDL.

    C. 選擇“src”目錄作為“Enter or select the parent folder”的值,“File name”值給定為SayHello.wsdl。點擊“Next”進入下一步。

    新建wsdl 

     

    D.將目標命名空間設置為“http://ws.tonyzhangcn.org/SayHello/”.在生成代碼的時候一般以這個命名空間為package的名字,例如:org.tonyzhangcn.ws.sayhello。這些值可以按需要設置。

    設置wsdl屬性

     

    E.點擊“Finish”按鈕就可以看到MyEclipse提供的WSDL 設計器的界面了。可以看到設計器為WSDL默認的添加了一個現操作。

      設計器-1

    即圖中的“NewOperation”?,F在將其改名為SayHello,如下圖:

     設計器-2

             之后點擊設計界面中的“Source”Tab來查看其代碼。如下:可以看到我們定義了一個SayHelloWeb Services,她提供了一個SayHello的方法,她能夠接受一個String(事實上是tns:SayHelloRequest對象,她對String進行了封裝)類型的輸入參數SayHelloRequest并返回一個String(事實上是tns:SayHelloResponse對象,她對String進行了封裝)類型的SayHelloResponse結果。更多關于WSDL的信息,請參考W3C的規范文檔。

     

    <?xml version="1.0" encoding="UTF-8"?>

    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.tonyzhangcn.org/SayHello/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SayHello" targetNamespace="http://ws.tonyzhangcn.org/SayHello/">

    <wsdl:types>

    <xsd:schema targetNamespace="http://ws.tonyzhangcn.org/SayHello/">

    <xsd:element name="SayHelloResponse" type="xsd:string" />

    <xsd:element name="SayHelloRequest" type="xsd:string" />

    </xsd:schema>

    </wsdl:types>

    <wsdl:message name="SayHelloResponse">

    <wsdl:part element="tns:SayHelloResponse" name="SayHelloResponse" />

    </wsdl:message>

    <wsdl:message name="SayHelloRequest">

    <wsdl:part element="tns:SayHelloRequest" name="SayHelloRequest" />

    </wsdl:message>

    <wsdl:portType name="SayHello">

    <wsdl:operation name="SayHello">

    <wsdl:input message="tns:SayHelloRequest" />

    <wsdl:output message="tns:SayHelloResponse" />

    </wsdl:operation>

    </wsdl:portType>

    <wsdl:binding name="SayHelloSOAP" type="tns:SayHello">

    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

    <wsdl:operation name="SayHello">

    <soap:operation soapAction="http://ws.tonyzhangcn.org/SayHello/NewOperation" />

    <wsdl:input>

    <soap:body use="literal" />

    </wsdl:input>

    <wsdl:output>

    <soap:body use="literal" />

    </wsdl:output>

    </wsdl:operation>

    </wsdl:binding>

    <wsdl:service name="SayHello">

    <wsdl:port binding="tns:SayHelloSOAP" name="SayHelloSOAP">

    <soap:address location="http://www.example.org/" />

    </wsdl:port>

    </wsdl:service>

    </wsdl:definitions>

    至此WSDL的編寫已經完成。

    2.2WSDL生成Java代碼

    A.選擇菜單“File->New->Other”,從對話框中選取“Axis2 Wizards”下面的“Axis2 Code Generator”.點擊“Next”進入下一個頁面,保持“Generate java source code from WSDL file”被選中,點擊“Next”進入下一步。

    B.點擊“Browse”來選取存放在src目錄下的SayHello.wsdl文件,“Next”進入下一步。設置如下:

    Axis2 code generator

     C.點擊“next”進入下一個頁面,設置“Output path”為本Projectsrc目錄。點擊“finish”后代在SayHello項目上按F5刷新就可以看到有代碼生成好了。但是能看到一堆紅“x”,這是由于沒有將Axis2jar包放入class path 中以及源代碼的package不為org.tonyzhangcn.ws.sayhello引起的。

    代碼1

     

    下面解決這個問題,首先選擇“SayHello”項目,并右擊選擇“Build path->Add External Archives..”,選擇上面部署在tomcat中的axis2 web應用WEB-INF/lib目錄中的所有jar包。之后右擊“src.org.tonyzhangcn.ws.sayhello”項目,選擇“Refactor->rename”,做如下修改,并選擇OK完成。

    代碼2

     

    這個時候發現test.org.tonyzhangcn.ws.sayhello下面的SayHelloTest.java仍然存在問題。點擊此文件中package 關鍵子前面的紅“x”,會提示有兩個選項,我們選擇下面的那個。

    code4

     

    選擇public class SayHelloTest前的紅“x”,選擇第一項。

    code5

     

    進行完這幾個改動之后,生成的代碼就沒有問題了。其中

    SayHelloRequest,SayHelloResponse是輸入輸出參數對象。

    SayHelloSkeleton是服務端對象,用來編寫業務邏輯調用。

    SayHelloStub是客戶端用來定位endpoint(就是發布的Web Services的地址)的類,客戶端根據其提供的方法定位Web服務并發起調用

    SayHelloMessageReceiverInOut是一個實現同步調用的web服務信息轉換處理類。

    Resources目錄下的services.xml文件是webservices的描述文件。

    SayHelloTest是一個客戶端的TestCase示例,用戶可以根據這個示例來編寫自己的客戶端調用類。

    2.3編寫業務代碼

    打開SayHelloSKeleton.java文件將其中的實現方法

     

    public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest param0)

    {

    // Todo fill this with the necessary business logic

    throw new java.lang.UnsupportedOperationException();

    }

     

    改為

    public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest request)

    {

    // Todo fill this with the necessary business logic

    try

    {

    SayHelloResponse response = new SayHelloResponse();

    response.setSayHelloResponse("Hi,"+request.getSayHelloRequest()+".How are you?");

    return response;

    }catch(UnsupportedOperationException e)

    {

    throw e;

    }

    }

    2.4打包

    A.選擇菜單“File->New->Other”,從對話框中選取“Axis2 Wizards”下面的“Axis2 Services Archive”.點擊“Next”進入下一個頁面。

    B.選擇編譯好的class文件所在目錄(本項目應該是WebRoot下面WEB-INF/classes),“Next”進入下一步。

    C.選擇WSDL文件所在目錄,此處為src目錄下的SayHello.wsdl文件。“Next”,再“Next”。選擇services.xm文件,本文應該是生成再src/resources下面的services.xml文件。之后選取“Generate the services.xml automatically”,然后再點擊一下使其變為非選中狀態,之后點擊“Back”按鈕,再點擊一次“Next”。(注意:這里本應該不是這么來回折騰的,但是我的機器上只有這樣操作finish按鈕才能生效。懷疑這是一個bug,如果讀到此文的用戶沒有這種情況,忽略此提示

    D.點擊“Next”,將記入最后一個頁面,此處有兩個選項,一個是輸出目錄一個是處處文件名稱。我這里的輸出文件名稱給的是SayHello。點擊“Finish”完成。

     2.5部署

    A.將打包好的文件SayHello.jar(或者可以改名為SayHello.aar),拷貝到Tomcat中已經部署的Axis2應用的WEB-INF/services目錄下面。

    B.啟動Tomcat(即點擊Tomcat安裝目錄下的startup.bat,linuxunix下執行startup.sh)。

    C.打開瀏覽器,輸入http://ipaddress:port/axis2(一般為http://localhost:8080/axis2,并點擊其中的“services”鏈接

    testservices

       可以看到SayHello已經被部署。點擊SayHello提供的連接可以看到與之對應的WSDL。

    2.6調用測試

    A.修改SayHelloTest.java文件中的方法testSayHello的內容為:

    public void testSayHello() throws java.lang.Exception

    {

    String url="http://localhost:8080/axis2/services/SayHello";

    org.tonyzhangcn.ws.sayhello.SayHelloStub stub = new org.tonyzhangcn.ws.sayhello.SayHelloStub(url); // the

    org.tonyzhangcn.ws.sayhello.SayHelloRequest request = (org.tonyzhangcn.ws.sayhello.SayHelloRequest) getTestObject(org.tonyzhangcn.ws.sayhello.SayHelloRequest.class);

    request.setSayHelloRequest("tonyzhangcn");

    System.out.println(stub.SayHello(request).getSayHelloResponse());

    // todo Fill in the param14 here

    assertNotNull(stub.SayHello(request));

    }

    B.從菜單中選擇“Run>Run as->JUnit Test”

    testcase

         可以看到web 服務已經正確的返回了結果。那么,不用TestCase類可以調用WebServices嗎?答案是肯定的,我們可以隨便些一個帶有main方法的類,并仿照SayHelloTest.java中的testSayHello()方法就可以達到調用Web Services的目的了。

     

    在我實際操作工程中,還遇到了兩個問題:

    一個是缺少xalan包中的jar文件,

    解決辦法:從官網下載,添加進lib中就好了

    一個是在自動產生的JUnit Test類中有兩個方法,都要實現,

    解決辦法:可以去掉一個方法。



            本Blog純屬個人學習、工作需要,記錄相關資料。請不要發表任何有人身攻擊的言論,謝謝! www.zhipsoft.cn
    posted on 2007-05-17 22:16 ZhipSoft 閱讀(24772) 評論(45)  編輯  收藏 所屬分類: Web Servers

    FeedBack:
    # re: MyEclipse下開發Web Service(Axis)
    2007-06-29 09:02 | 過客2
    response.setSayHelloResponse("Hi,"+request.getSayHelloRequest()+".How are you?");


    我按你的步驟做,提示沒有response.setSayHelloResponse這個方法
    The method setSayHelloResponse(String) is undefined for the type
    SayHelloResponse

    是什么原因的?
      回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-07-06 13:11 | magnate
    @過客2
    now the method setSayHelloResponse has been replaced by setOut/setIn , u can check it  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis) [未登錄]
    2007-08-09 17:27 | victor
    按照上面的方法走了一遍,還有兩個錯誤,編譯不過去

    1.SayHelloMessageReceiverInOut類里,
    org.apache.axis2.engine.DependencyManager.configureBusinessLogicProvider(obj,msgContext.getOperationContext());提示configureBusinessLogicProvider方法不存在,我看DependencyManager類確實沒有這個方法,難道是版本的問題?

    2.SayHelloStub類里生成java.lang.Object object = fromOM(getElement(_returnEnv, "document"),org.example.www.sayhello.SayHelloResponse.class,getEnvelopeNamespaces(_returnEnv));代碼,但沒有getElement()方法,getElement方法怎么寫?  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-09-06 15:47 | zql
    暈,太假了,老是有錯  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-09-13 15:00 | wangjun
    我也碰到類似的問題
    1.SayHelloMessageReceiverInOut類里,
    org.apache.axis2.engine.DependencyManager.configureBusinessLogicProvider(obj,msgContext.getOperationContext());提示configureBusinessLogicProvider方法不存在,我看DependencyManager類確實沒有這個方法,難道是版本的問題?

    2.SayHelloStub類里生成java.lang.Object object = fromOM(getElement(_returnEnv, "document"),org.example.www.sayhello.SayHelloResponse.class,getEnvelopeNamespaces(_returnEnv));代碼,但沒有getElement()方法,getElement方法怎么寫?


    不知道哦樓主是否有辦法解決啊!

    如果有的話是否能給我發個郵件
    jun.wang@pccw.com  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-09-18 16:04 | jjtking
    我也是同樣的問題,不知道到底錯在那里

    1.SayHelloMessageReceiverInOut類里,
    org.apache.axis2.engine.DependencyManager.configureBusinessLogicProvider(obj,msgContext.getOperationContext());提示configureBusinessLogicProvider方法不存在,我看DependencyManager類確實沒有這個方法,難道是版本的問題?

    2.SayHelloStub類里生成java.lang.Object object = fromOM(getElement(_returnEnv, "document"),org.example.www.sayhello.SayHelloResponse.class,getEnvelopeNamespaces(_returnEnv));代碼,但沒有getElement()方法,getElement方法怎么寫?


    不知道哦樓主是否有辦法解決??!

    如果有的話是否能給我發個郵件
    jjtking@163.com   回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-09-18 16:08 | 老是有問題啦
    我也碰到了上面兩個問題,不之大如何解決啊,有沒有誰能幫忙解答下啊。

    我也碰到了上面兩個問題,不之大如何解決啊,有沒有誰能幫忙解答下啊。

    我也碰到了上面兩個問題,不之大如何解決啊,有沒有誰能幫忙解答下啊。

    我也碰到了上面兩個問題,不之大如何解決啊,有沒有誰能幫忙解答下啊。

    我也碰到了上面兩個問題,不之大如何解決啊,有沒有誰能幫忙解答下啊。  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-09-26 15:04 | lddongyu
    碰到同樣的問題呀,摟主幫幫忙  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-10-19 10:56 | 可克
    怎么會有nullpointerException異常呢?  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-10-26 14:29 | 問題
    1.SayHelloMessageReceiverInOut類里,
    org.apache.axis2.engine.DependencyManager.configureBusinessLogicProvider(obj,msgContext.getOperationContext());提示configureBusinessLogicProvider方法不存在,我看DependencyManager類確實沒有這個方法,難道是版本的問題?

    2.SayHelloStub類里生成java.lang.Object object = fromOM(getElement(_returnEnv, "document"),org.example.www.sayhello.SayHelloResponse.class,getEnvelopeNamespaces(_returnEnv));代碼,但沒有getElement()方法,getElement方法怎么寫?

      回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2007-12-14 15:37 | 浪子
    SayHello.jar在哪里??我找不到
    org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (EPR) /axis2/services   回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-03-26 15:46 | xjlinetp
    getElement錯誤是引用的包不對,axis2-kernel-1.0.jar這個包就對了  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis) [未登錄]
    2008-04-11 13:15 | john
    樓主,我在打包的那一步(即最后一個是輸出目錄一個是輸出文件名稱時)點擊“finish”按鈕以后出現一個報錯對話框“filesets”。還請樓主指教  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-04-13 00:05 | adio
    圓滿完成!謝謝樓主 !
    大家部署的時候一定要細心!
    樓主的方法絕對可行!
    補充一下,output的element是SayHelloResponse生成的wdsl里總是沒有找個xsd:element!本人剛學習,還不知道為什么?
    誰明白答復下謝謝!  回復  更多評論
      
    # 2
    2008-04-29 17:11 | jiangisli
    怎么不出來回復一下,大家都是類似的情況!!
      回復  更多評論
      
    # 2
    2008-04-29 17:27 | jiangsili
    我還多了一個SayHello.java文件
    你上面是5個,我上多了一個,六個了
    怎么回事  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-04-30 14:54 | OverLords
    又一個圓滿完成的,謝謝樓主 !
    部署的時候如果不注意某些細節的話鐵定出錯。  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-05-08 12:53 | 小瓶子
    太感謝了,沒用問題,很多天前就想看了,可是一直沒有看到合適的文章....  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-05-08 14:36 | 小瓶子
    很想知道有多個方法和身份驗證怎么開發,期待大家的回答....  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-05-13 13:59 | waterblue
    我在打包的那一步(即最后一個是輸出目錄一個是輸出文件名稱時)點擊“finish”按鈕以后出現一個報錯對話框“filesets”。還請指教  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-05-16 17:55 | tangtang
    摟主強烈建議把打包這一步的圖片傳上來,我也遇到filesets問題,不知道怎么解決。  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-05-16 17:57 | tangtang
    我也碰到這個問題了,你要解決了請告訴我怎么解決的qq:414139396  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-05-17 16:13 | tangtang
    打包的時候最后提示:filesets 問題到底是怎么回事,幫幫忙給解釋下好嗎?謝謝
    打包的時候最后提示:filesets 問題到底是怎么回事,幫幫忙給解釋下好嗎?謝謝
    打包的時候最后提示:filesets 問題到底是怎么回事,幫幫忙給解釋下好嗎?謝謝
    打包的時候最后提示:filesets 問題到底是怎么回事,幫幫忙給解釋下好嗎?謝謝
    打包的時候最后提示:filesets 問題到底是怎么回事,幫幫忙給解釋下好嗎?謝謝
    打包的時候最后提示:filesets 問題到底是怎么回事,幫幫忙給解釋下好嗎?謝謝  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-05-19 08:49 | tangtang
    “filesets”的問題解決了,現在把原因告訴碰到同樣問題的朋友。我用的是tomcat6。主要原因是因為eclipse的兩個插件的版本的是,我換成:1.3版本就能通過了。希望遇到同樣問題的朋友可以參考一下。
      回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-06-05 09:46 | xulong
    解決了 “configureBusinessLogicProvider方法不存在”問題的兄臺請把解決的方法貼出來啊,不勝感激!  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2008-07-07 17:13 | QOO
    @tangtang
    “filesets”的問題解決了,現在把原因告訴碰到同樣問題的朋友。我用的是tomcat6。主要原因是因為eclipse的兩個插件的版本的是,我換成:1.3版本就能通過了。希望遇到同樣問題的朋友可以參考一下。
    1.3 <- 是指plugins 或是 JDK? 因為我也是遇到相同的問題,  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-03-10 23:14 | ava
    能再問個問題嗎:我用瀏覽器能查看ws的wsdl,但是用客戶端調用時報如下錯誤
    org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (EPR) /axis2/services   回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-04-07 15:37 | eclip
    Error: org.apache.axis2.deployment.DeploymentException: A ClassNotFoundException error occurred in loading the message receiver org.example.www.sayhello.SayHelloMessageReceiverInOut 出現這樣錯誤,該怎么解決???樓主  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-04-14 22:58 | dabing
    1.SayHelloMessageReceiverInOut類里,
    org.apache.axis2.engine.DependencyManager.configureBusinessLogicProvider(obj,msgContext.getOperationContext());提示configureBusinessLogicProvider方法不存在,我看DependencyManager類確實沒有這個方法,難道是版本的問題?

    2.SayHelloStub類里生成java.lang.Object object = fromOM(getElement(_returnEnv, "document"),org.example.www.sayhello.SayHelloResponse.class,getEnvelopeNamespaces(_returnEnv));代碼,但沒有getElement()方法,getElement方法怎么寫?


    不知道哦樓主是否有辦法解決啊!
    ---------------------------------------------------------
    我開始也遇到這兩個問題,后來分析了一下,是引用jar包的時候引用了axis2-1.4.1中lib下的所有jar包,所以有些方法已經過時或者已經被刪除了,所以引用axis2-1.0中lib下的jar包到工程下,就不會出現上述問題了。
    另外,由于博主的文章是07年的,比較早,我現在按照博主的文章去下載axis安裝包時,已經找不到1.0的war文件了,只有bin標準版,所以我就下載了1.4.1的war文件,并把它部署到tomcat中,然后引用jar包時,引用的是1.0標準版中的lib文件夾下的jar包,就沒啥問題了。
      回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-04-14 23:16 | dabing
    我在打包的那一步(即最后一個是輸出目錄一個是輸出文件名稱時)點擊“finish”按鈕以后出現一個報錯對話框“filesets”。還請指教
    --------------------------------------------------------------
    這個問題的原因,就是你使用了Axis_Service_Archiver_1.0.0這個打包工具來打包,改用Axis2_Service_Archiver_1.3.0來打包,就ok了!  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-04-15 01:33 | dabing
    使用Axis2 Code Generator時產生InvocationTargetException 的解決辦法

    Axis2 Code Generator作為一個在Eclipse中使用的能自動根據WSDL生成Java文件以及根據Java文件生成WSDL的插件,安裝好后使用往往會出現InvocationTargetException異常,這時可嘗試:

    1. 將backport-util-concurrent-3.1.jar從 $AXIS2_HOME\lib (我的是:D:\Tomcat 5.5\webapps\axis2\WEB-INF\lib) 處拷貝至 $ECLIPSE_HOME\plugins\Axis2_Codegen_Wizard_1.3.0\lib;

    2. 編輯文件 $ECLIPSE_HOME\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml, 在其中runtime元素中增加內容:

    <library name="lib/backport-util-concurrent-3.1.jar">
    <export name="*"/>
    </library>

    3. 將 $workspace位置\.metadata\.plugins (我的是:D:\Workbench\.metadata\.plugins)下目錄 Axis2_Codegen_Wizard 刪除

    4. 在命令行下切換至$ECLIPSE_HOME (我的是:D:\MyEclipse 5.5.1 GA\eclipse)目錄,然后執行:

    eclipse -clear

    就OK啦!  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-04-15 01:35 | dabing
    啊,半夜了,終于挑通了!開心ing~洗洗睡去啦~  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis) [未登錄]
    2009-04-27 23:20 | zeng
    filesets到底怎么回事?不能用AXIS2.0,要用1.4嗎?  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-04-29 18:55 | haozhengfang
    謝謝啦 調通,繼續努力學習!大家要注意細節的東西啊  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-05-04 15:50 | dabing
    @zeng
    出現filesets問題是因為版本太老的緣故,作者當時用的是AXIS1.0,而且代碼生成工具也用的老版本的工具。
    我下載的是AXIS1.4版本,工具也是一起下的,2.0的沒用過,你用的時候靈活些,不用字字都照著博主的文章做,博主只是提供了一個大致的流程,出現的各種具體問題,希望大家能自己查找原因,百度和谷歌就是老師嘛,這樣也能學習到不少東西呢。一起努力!  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-09-06 19:38 | @陳婧
    天啦,終于給讓我弄出來了。吃晚飯去  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2009-12-03 09:21 | 筆記本
    plug in 無法下載啊  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2010-06-02 14:07 | jy
    感謝樓主這么好的文章,解決了我很多問題,調了n次,終于調通了。  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2010-06-27 09:50 | yvee
    你好。2.4D步驟(打包),一個是Service name,這個是隨便自己寫的,對嗎?另一個是Class name,這個名字寫什么呢?我是隨便寫的。但是最后finish按鈕無效。根本無法點擊。期待解決  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2010-12-13 19:17 | zhangwei
    @eclip
    大哥,我也遇到了這個問題,你調出來了沒有  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2011-05-13 22:31 | cn00568347
    能幫我解釋一下  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    2011-05-13 22:33 | cn00568347
    能幫我解釋一下
    http://topic.csdn.net/u/20110512/22/85f2435e-b200-452b-a889-dd1468419aa0.html
    里的兩個問題嗎,是按照你的方法做的,但不知道錯在哪里,謝謝  回復  更多評論
      
    # re: MyEclipse下開發Web Service(Axis)
    # 重要問題
    2011-10-15 08:23 | jsqfzhl
    在sayHellotest類下需要加上下面一個類才能運行:
    public org.apache.axis2.databinding.ADBBean getTestObject(
    java.lang.Class type) throws java.lang.Exception {
    return (org.apache.axis2.databinding.ADBBean) type.newInstance();
    }  回復  更多評論
      
    # 重要問題
    2011-10-15 08:26 | jsqfzhl
    在SayHelloTest.java類下需要加上下面一個類才能運行:



    public org.apache.axis2.databinding.ADBBean getTestObject(
    java.lang.Class type) throws java.lang.Exception {
    return (org.apache.axis2.databinding.ADBBean) type.newInstance();
    }  回復  更多評論
      
    主站蜘蛛池模板: 成人永久福利免费观看| 国产亚洲综合成人91精品 | 久久久久一级精品亚洲国产成人综合AV区 | 毛片免费全部播放一级| 亚洲色精品aⅴ一区区三区| 亚洲爆乳无码精品AAA片蜜桃| 久久99精品视免费看| 亚洲AV蜜桃永久无码精品| 国产v亚洲v天堂a无| 日韩免费在线视频| 亚洲欧洲自拍拍偷精品 美利坚 | 99re6在线精品免费观看| 国产美女被遭强高潮免费网站| 亚洲综合激情视频| 日批视频网址免费观看| 国产免费啪嗒啪嗒视频看看| 亚洲AV色吊丝无码| 91香焦国产线观看看免费| 中文字幕亚洲图片| 日韩精品无码永久免费网站| 天天操夜夜操免费视频| 亚洲激情黄色小说| 人妻丰满熟妇无码区免费| 伊人久久综在合线亚洲91| 视频一区在线免费观看| 曰皮全部过程视频免费国产30分钟| 亚洲成综合人影院在院播放| 亚欧免费一级毛片| 国产亚洲精品a在线无码| 国产日韩精品无码区免费专区国产 | 中国一级特黄的片子免费 | 24小时日本韩国高清免费| 亚洲成Av人片乱码色午夜| 精品无码一级毛片免费视频观看| 免费一级特黄特色大片在线| 最新亚洲精品国偷自产在线| 性xxxxx免费视频播放| 亚洲天堂电影在线观看| 1000部羞羞禁止免费观看视频| 亚洲欧洲在线观看| 日韩免费电影网址|