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

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

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

    從心開始

     

    在 MyEclipse 5.1GA 上使用 XFire 編寫 Web Service (轉載)

    ???來源:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml??? (紅色部分為實驗批注

    附:MyEclipse 5.0 官方提供的圖文教程

    http://www.myeclipseide.com/ContentExpress-display-ceid-81.html#webservices

    ???開發環境

    ??? Sun Java 5+ Eclipse 3.2 +MyEclipse 5.0.0.?

    ??? 概述?

    ??? 本文介紹了使用MyEclipse Web Service來迅速開發和測試一個HelloWorld Web Service,其中包括:?
    ??? 1. 介紹了MyEclipse Web Services的基本概念?
    ??? 2. 創建一個MyEclipse Web Services工程?
    ??? 3. 創建一個簡單的HelloWorld Web Service?
    ??? 4. 在Web容器中,如Tomcat 5中部署Web Service?
    ??? 5. 使用Web Services Explorer來測試部署的Web Services?

    ??? XFire Java SOAP框架概述?
    ??? MyEclipse Web Services是建立在XFire Java SOAP框架和工具基礎上的, XFire是一款開源的Java SOAP框架。它擁有一個輕量級的信息處理模塊,通過STAX來與SOAP信息相結合。提供了一個工作在Web Services下的簡單API,支持POJO和schema開發. XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory傳輸協議.?

    ??? 一. 創建Web Service工程?

    ??? 在MyEclipse 5.0中引入了一個新的工程類型即Web Service工程,該工程擴展了MyEclipse Web Project來支持額外的Web Service配置,開發和部署.本部分將使用Web Services Project wizard來創建和配置一個新的Web Service Projects Web Service Wizard將完成下列的動作:?
    ??? 創建MyEclipse J2EE Web Project?
    ??? 在工程中的web.xml文件中配置XFire Servlet?
    ??? 創建XFire services.xml配置文件?
    ??? 在工程中的構建路徑中添加MyEclipse-XFire類庫?
    ??? 添加一個指定的MyEclipse web project builder到.projects文件,以便部署services.xml文件到它合適的位置.如: <webroot>/WEB-INF/classes/META-INF/xfire/?

    ??? 運行Web Service Project Wizard?
    ??? 該向導包括三個頁面, Page-1搜集Web Project配置細節, Page-2搜集XFire配置細節, Page-3在新建的構建路徑中配置XFire類庫?
    ??? 1. 執行Web Services Project Wizard.?
    ?????? 1). 選擇File>New>Other?
    ?????? 2). 擴展MyEclipse種類按照J2EE工程的種類?
    ?????? 3). 選擇Web Services Project然后點擊Next,如圖所示


    ??? Figure-1: New Project Wizard Launcher?
    ??? 2. 添加Project Name,點擊Next


    ??? Figure-2: Page-2, Collecting web configuration details?
    ??? 3.在向導的Page-2中添加XFire servlet和service.xml文件的配置信息,按照默認的值即可.


    ??? Figure-3: XFire servlet and services.xml configuration
    ??? 4.在向導的Page-3中選擇類庫添加到工程的構建路徑中,其中XFire Core Library是需要的,如果要在工程中開發一個客戶端應用, XFire HTTP Client Libraries也是需要的.


    ??? Figure-4: Selecting XFire libraries to add to new web service project buildpath?

    ??? 5選擇Finish完成Web Service工程的創建過程?
    ??? Figure-5,顯示了新創建的HelloWorld Web Service工程的組織結構,Web Service 工程和一個標準的MyEclipse Web工程很相似. XFire Web Service配置元素如圖紅色區域顯示:


    ??? Figure-5: Web services artifacts of a new web service project?

    ??? 二. 創建Web Service-Code-first Strategy?
    ??? 在這部分將用MyEclipse Web Service Wizard并通過使用Code-first Strategy來創建一個HelloWorldService示例.?

    ??? 1. 執行MyEclipse Web Service Wizard,有兩種方法來執行MyEclipse Web Service Wizard?
    ??? 方法1.從MyEclipse perspective toolbar中來執行向導?
    ??? 在打開的Web Service Wizard上的workbench上來選擇新Web Service按鈕?
    ??? 方法2.從workbench menubar執行向導?
    ??? 1. 從workbench menubar選擇: File>New>Other>MyEclipse>Web Service


    ??? Figure-6: Launching Web Service Wizard?

    ??? 2. 在Page-1選擇HelloWorld 工程并選擇Create web service from Java bean?
    ??? 3. 選擇Next到Page-2


    ??? Figure-7: Page-1 of new web service wizard

    ??? 4. 填寫Web Service的名字HelloWorldService?
    ??? 5. 選擇Java Source folder或者選擇New按鈕來新建一個source folder?
    ??? 6. 填寫Java package或者通過選擇Browse按鈕來選擇一個已經存在的package.也可以選擇New按鈕來新建一個Java package?
    ??? 注意:對Service接口和Service執行的類的默認值是基于所填入Web Service名字來產生的.?
    ??? 7. 選擇Next來初始化Web Service的創建過程


    ??? Figure-8: Page-2 of new web service wizard.?
    ??? 該向導產生了IHelloWorldService Java接口和HelloWorldServiceImpl Java類.并且在services.xml配置文件中創建了一個<service>實體(如圖所示),注意到example(String message)方法在接口類中產生,當Web Service部署后作為一個測試操作.


    ??? Figure-9: Newly created HelloWorld interface and implementation class?

    Web Service 服務端服務接口代碼

    package?org.stephencat.ws;
    //Generated?by?MyEclipse

    public?interface?ISampleService?{
    ????
    ????
    public?String?example(String?message);
    ????
    }

    Web Service 服務端服務實現代碼

    package?org.stephencat.ws;
    //Generated?by?MyEclipse

    public?class?SampleServiceImpl?implements?ISampleService?{
    ????
    ????
    public?String?example(String?message)?{
    ????????
    return?message?+?"?This?is?Xfire?!!";
    ????}
    ????
    }

    ????
    ??? 三. 部署Web Service Project?
    ??? Web Service可以部署在任何MyEclipse支持的J2EE應用服務器上,該部分將演示如何在Tomcat 5 Web容器上部署HelloWorld工程.?

    ??? 3.1部署HelloWorld Web Service Project?

    ??? Figure-10顯示了如何部署HelloWorld應用.?
    ??? 1. 從Server Manager中選擇Deployer按鈕(step-1)?
    ??? 2. 在Server Deployments對話框中選擇Add to create a new deployment (step-2)?
    ??? 3. 在New Deployment對話框中選擇HelloWorld工程并選擇Exploded Archive選項?
    ??? 4. 在New Deployment對話框選擇Finish來將HelloWorld在Tomcat 5默認的位置中打包為WAR?
    ??? 5. 選擇OK完成部署


    ??? Figure-10: Three-step deployment process?
    ??? 新HelloWorld WAR部署將出現在Server Manager視圖中Tomcat 5節點下.


    ??? Figure-11: Servers Manager View depicting deployed HelloWorld web service project

    ??? 四. 啟動Tomcat服務器?(或 JBoss 服務器

    ??? 五. 使用Web Service Explorer測試Web Service?
    ??? MyEclipse提供了一個Web Service Explorer來測試Web Service.?
    ??? 1. 在MyEclipse perspective中選擇toolbar button來執行Web Service Explorer


    ??? Figure-15: Web Services Explorer launch button on workbench toolbar?

    ??? 2. 選擇WSDL模式(Figure-16)?
    ??? 3. 在活動面板中鍵入HelloWorldService WSDL文檔的URL

    http://localhost:8080/wstest/services/SampleService?WSDL

    Web Service Explorer將下載自動產生的WSDL文檔,該WSDL文檔由XFire framework,并產生一系列的操作能夠調用service.?
    ??? 4. 在活動面板中選擇example操作并在in0域中鍵入HelloWorld?
    ??? 5. 選擇Go按鈕來調用在HelloWorldService上的example操作,,結果出現在Status面板上


    ??? Figure-16: Web Services Explorer testing HelloWorldService?

    ??? 六. 創建Java Test客戶端?
    ??? XFire提供了一個動態的代理框架,能夠讀取WSDL文檔和創建潛在的消息服務使Java類來執行在Web Service的行為.該部分將為HelloWorld Web Service寫一個Java Web Service客戶端?
    ??? 6.1增加XFire類庫配置?
    ??? 為了使example client能夠在HelloWorld工程中運行,需要增加XFire HTTP Client類庫到工程的構建路徑中.?
    ??? 1. 在Package Explore視圖中右擊HelloWorld工程選擇Build Path>Add Library?
    ??? 2. 選擇MyEclipse Libraries?
    ??? 3. 選擇XFire HTTP Client Libraries


    ??? Figure-17: Choosing the XFire HTTP Client Libraries?
    ??? 4. 選擇Finish?
    ??? 6.2創建HelloWorldClient類?
    ??? 執行Java類向導來創建HelloWorldClient類


    ??? Figure-18: HelloWorldClient defined in New Java Class Wizard.?

    ??? Web Service 客戶端代碼如下:

    package?org.stephencat.ws;

    import?org.codehaus.xfire.*;
    import?org.codehaus.xfire.service.*;
    import?org.codehaus.xfire.service.binding.*;
    import?org.codehaus.xfire.client.*;

    import?java.net.*;

    public?class?SampleClient?{

    ????
    /**
    ?????*?
    @param?args
    ?????
    */
    ????
    public?static?void?main(String[]?args)?{
    ????????Service?srvcModel?
    =?new
    ????????ObjectServiceFactory().create(ISampleService.
    class);
    ????????XFireProxyFactory?factory?
    =
    ???????????
    new?XFireProxyFactory(XFireFactory.newInstance().getXFire());
    ????????String?url?
    =
    ???????????
    "http://localhost:8080/wstest/services/SampleService";
    ????????
    try?{
    ????????????ISampleService?srvc?
    =?(ISampleService)factory.create(srvcModel,?url);
    ???????????String?result?
    =?srvc.example("hello?world");
    ???????????System.out.print(result);
    ????????}?
    catch?(MalformedURLException?e){
    ???????????e.printStackTrace();
    ????????}


    ????}

    }

    ??? 該段代碼定義了創建一個XFire web service proxy的過程,該代理支持POJO IHelloWorldService接口?

    ??? 右鍵點擊Run As>Java Application或者Debug As>JavaApplication來運行或調試該程序

    posted on 2007-10-24 15:11 飄雪 閱讀(1050) 評論(0)  編輯  收藏 所屬分類: JAVA技術

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類(11)

    隨筆檔案(13)

    收藏夾

    firends

    搜索

    最新評論

    • 1.?re: udp及tcp穿越NAT
    • 您上述提到的是互聯網之間的公網與私網之間的NAT穿越,3g終端可以通過這種方式實現嗎?還有3g移動設備的IP是動態分配的,我怎么才能在公網服務器找到這個3G終端?
    • --svurm
    • 2.?re: udp及tcp穿越NAT
    • TCP穿越針對的是公網IP,而這個公網ip進過幾個NAT,多少層映射到局域網客戶端上對大洞無影響,因為這些映射是nat完成的,一層,二層,三層,最終都映射到公網ip上,所以幾層NAT對打洞并無影響。
    • --lch
    • 3.?re: udp及tcp穿越NAT
    • 您好,感謝您提供的好介紹。請問:如果P2P的兩點之間,存在3-4個NAT,P2P也可以通起來嗎?從您對NAT的理解,如果通信兩端之間存在4個NAT,對那些應用有影響?
    • --xujf
    • 4.?re: 系統時間修改方法
    • good
    • --jone
    • 5.?re: udp及tcp穿越NAT
    • 評論內容較長,點擊標題查看
    • --...

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本人护士免费xxxx视频| 免费在线观看的网站| 亚洲高清偷拍一区二区三区| 77777午夜亚洲| 久久精品无码一区二区三区免费| 亚洲第一精品电影网| 久久免费看少妇高潮V片特黄| 亚洲精品色午夜无码专区日韩| 久久九九免费高清视频| 国产亚洲综合久久系列| 免费无码又爽又刺激一高潮| 久久亚洲精品无码| 在线成人a毛片免费播放| 亚洲丰满熟女一区二区v| 一级毛片免费观看不收费| 亚洲AV之男人的天堂| 最近的2019免费中文字幕| 亚洲av无码av制服另类专区| 免费国产黄网站在线观看视频| 亚洲日本在线观看网址| 成人毛片免费播放| 免费国产va在线观看| 亚洲国产精品无码av| 免费国产作爱视频网站| 国产精品亚洲专区无码唯爱网| 18禁黄网站禁片免费观看不卡| 亚洲av无码不卡久久| 四虎永久免费影院在线| 日韩精品无码免费专区午夜| 91亚洲自偷手机在线观看| 性xxxx视频播放免费| GOGOGO免费观看国语| 亚洲欧洲国产经精品香蕉网| 国产高清免费观看| 久草免费福利视频| 亚洲精品动漫免费二区| 国产亚洲情侣一区二区无码AV| 精品久久8x国产免费观看| 特级av毛片免费观看| 一区二区三区亚洲| 波多野结衣一区二区免费视频|