myeclipse開發Webservice

MyEclipse下開發Web Serviceweb

 

 

 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,支持POJOschema開發. 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 servletservice.xml文件的配置信息,按照默認的值便可

測試


    Figure-3: XFire servlet and services.xml configurationui

 

4.在嚮導的Page-3中選擇類庫添加到工程的構建路徑中,其中XFire Core Library是須要的,若是要在工程中開發一個客戶端應用, XFire HTTP Client Libraries也是須要的.

spa


    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. 選擇NextPage-2 

orm


    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 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來將HelloWorldTomcat 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服務器 
    . 使用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來運行或調試該程序

相關文章
相關標籤/搜索