MyEclipse java webservice實現

MyEclipse下開發Web Service(XFire) 

 
    開發環境
    Sun Java 5+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 

IT168技術文檔】 
    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

IT168技術文檔】 
    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 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

IT168技術文檔】 
    四. 啓動Tomcat服務器 
    五. 使用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文檔的URLhttp://localhost:8080/HelloWorld/services/HelloWorldService?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. 
    代碼如下: 

public static void main(String[] args) { Service srvcModel = new ObjectServiceFactory().create(IHelloWorldService.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire()); String helloWorldURL = "http://localhost:8080/HelloWorld/services/HelloWorldService"; try { IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL); 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來運行或調試該程序 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章