熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

MyEclipse配置WebService

2013-11-23 20:37:32  來源: Java開源技術 

  開發環境

  JDK+ Eclipse +MyEclipse

概述

  本文介紹了使用MyEclipse Web Service來迅速開發和測試一個HelloWorld Web Service其中包括:

   介紹了MyEclipse Web Services的基本概念

   創建一個MyEclipse Web Services工程

   創建一個簡單的HelloWorld Web Service

   在Web容器中如Tomcat 中部署Web Service

   使用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 standardsSpring 整合 支持JBI 支持 JAXB XMLBeansJava 和JAXWS並支持HTTP JMS XMPP Inmemory傳輸協議

   創建Web Service工程

  在MyEclipse 中引入了一個新的工程類型即Web Service工程該工程擴展了MyEclipse Web Project來支持額外的Web Service配置開發和部署本部分將使用Web Services Project wizard來創建和配置一個新的Web Service Projects Web Service Wizard將完成下列的動作:

  創建MyEclipse JEE Web Project

  在工程中的webxml文件中配置XFire Servlet

  創建XFire servicesxml配置文件

  在工程中的構建路徑中添加MyEclipseXFire類庫

  添加一個指定的MyEclipse web project builder到projects文件以便部署servicesxml文件到它合適的位置如: /WEBINF/classes/METAINF/xfire/

  運行Web Service Project Wizard

  該向導包括三個頁面 Page搜集Web Project配置細節 Page搜集XFire配置細節 Page在新建的構建路徑中配置XFire類庫

   執行Web Services Project Wizard

  ) 選擇File>New>Other

  ) 擴展MyEclipse種類按照JEE工程的種類

  ) 選擇Web Services Project然後點擊Next如圖所示

  

  選擇Web Services Project

  Figure: New Project Wizard Launcher

   添加Project Name點擊Next

  

  添加Project Name

  Figure: Page Collecting web configuration details

  在向導的Page中添加XFire servlet和servicexml文件的配置信息按照默認的值即可

  

  配置信息

  Figure: XFire servlet and servicesxml configuration

  在向導的Page中選擇類庫添加到工程的構建路徑中其中XFire Core Library是需要的如果要在工程中開發一個客戶端應用 XFire HTTP Client Libraries也是需要的

  XFire Core Library

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

  選擇Finish完成Web Service工程的創建過程

  Figure顯示了新創建的HelloWorld Web Service工程的組織結構Web Service 工程和一個標准的MyEclipse Web工程很相似 XFire Web Service配置元素如圖紅色區域顯示:

  XFire Web Service配置元素

  Figure: Web services artifacts of a new web service project

   創建Web ServiceCodefirst Strategy

  在這部分將用MyEclipse Web Service Wizard並通過使用Codefirst Strategy來創建一個HelloWorldService示例

   執行MyEclipse Web Service Wizard有兩種方法來執行MyEclipse Web Service Wizard

  方法從MyEclipse perspective toolbar中來執行向導

  在打開的Web Service Wizard上的workbench上來選擇新Web Service按鈕

  方法從workbench menubar執行向導

   從workbench menubar選擇: File>New>Other>MyEclipse>Web Service

  workbench menubar選擇

  Figure: Launching Web Service Wizard

   在Page選擇HelloWorld 工程並選擇Create web service from Java bean

   選擇Next到Page

  選擇Next到Page-2

  Figure: Page of new web service wizard

   填寫Web Service的名字HelloWorldService

   選擇Java Source folder或者選擇New按鈕來新建一個source folder

   填寫Java package或者通過選擇Browse按鈕來選擇一個已經存在的package也可以選擇New按鈕來新建一個Java package

  注意:對Service接口和Service執行的類的默認值是基於所填入Web Service名字來產生的

   選擇Next來初始化Web Service的創建過程

  初始化Web Service的創建過程

  Figure: Page of new web service wizard

  該向導產生了IHelloWorldService Java接口和HelloWorldServiceImpl Java類並且在servicesxml配置文件中創建了一個﹤SERVICE>實體(如圖所示)注意到example(String message)方法在接口類中產生當Web Service部署後作為一個測試操作

  services.xml配置文件

  Figure: Newly created HelloWorld interface and implementation class

   部署Web Service Project

  Web Service可以部署在任何MyEclipse支持的JEE應用服務器上該部分將演示如何在Tomcat Web容器上部署HelloWorld工程

  部署HelloWorld Web Service Project

  Figure顯示了如何部署HelloWorld應用

   從Server Manager中選擇Deployer按鈕(step)

   在Server Deployments對話框中選擇Add to create a new deployment (step)

   在New Deployment對話框中選擇HelloWorld工程並選擇Exploded Archive選項

   在New Deployment對話框選擇Finish來將HelloWorld在Tomcat 默認的位置中打包為WAR

   選擇OK完成部署

  完成部署

  Figure: Threestep deployment process

  新HelloWorld WAR部署將出現在Server Manager視圖中Tomcat 節點下

  新HelloWorld WAR部署

  Figure: Servers Manager View depicting deployed HelloWorld web service project

   啟動Tomcat服務器

   使用Web Service Explorer測試Web Service

  MyEclipse提供了一個Web Service Explorer來測試Web Service

   在MyEclipse perspective中選擇toolbar button來執行Web Service Explorer

  執行Web Service Explorer

  Figure: Web Services Explorer launch button on workbench toolbar

   選擇WSDL模式(Figure)

   在活動面板中鍵入HelloWorldService WSDL文檔的//localhost:/HelloWorld/services/HelloWorldService?WSDLWeb Service Explorer將下載自動產生的WSDL文檔該WSDL文檔由XFire framework並產生一系列的操作能夠調用service

   在活動面板中選擇example操作並在in域中鍵入HelloWorld

   選擇Go按鈕來調用在HelloWorldService上的example操作結果出現在Status面板上

  Status面板

  Figure: Web Services Explorer testing HelloWorldService

   創建Java Test客戶端

  XFire提供了一個動態的代理框架能夠讀取WSDL文檔和創建潛在的消息服務使Java類來執行在Web Service的行為該部分將為HelloWorld Web Service寫一個Java Web Service客戶端

  增加XFire類庫配置

  為了使example client能夠在HelloWorld工程中運行需要增加XFire HTTP Client類庫到工程的構建路徑中

   在Package Explore視圖中右擊HelloWorld工程選擇Build Path>Add Library

   選擇MyEclipse Libraries

   選擇XFire HTTP Client Libraries

  選擇XFire HTTP Client Libraries

  Figure: Choosing the XFire HTTP Client Libraries

   選擇Finish

  創建HelloWorldClient類

  執行Java類向導來創建HelloWorldClient類

  執行Java類向導

  Figure: HelloWorldClient defined in New Java Class Wizard

  代碼如下:

  

  package orgstephencatws;

  import dehausxfire*;

  import dehausxfireservice*;

  import dehausxfireservicebinding*;

  import dehausxfireclient*;

  import *;

  public class SampleClient {

  /**

  * @param args

  */

  public static void main(String[] args) {

  Service srvcModel = new

  ObjectServiceFactory()create(IHelloWorldServiceclass);

  XFireProxyFactory factory =

  new XFireProxyFactory(XFireFactorynewInstance()getXFire());

  String helloWorldURL =

  //localhost:/HelloWorld/services/HelloWorldService;

  try {

  IHelloWorldService srvc = (IHelloWorldService)factorycreate(srvcModel
helloWorldURL);

  String result = srvcexample(hello world);

  Systemoutprint(result);

  } catch (MalformedURLException e) {

  eprintStackTrace();

  }

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

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


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28778.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.