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

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

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

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    原文地址:http://blog.csdn.net/peirenlei/archive/2007/09/06/1774523.aspx

     

    附: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 IHelloWorldService {
        
        
    public String example(String message);
        
    }


    Web Service 服務端服務實現代碼

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

    public class HelloWorldServiceImpl implements IHelloWorldService {
        
        
    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/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. 

        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 HelloWorldClient {

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

    下面加入自己的實現

    創建webservice服務端都一樣,說說客戶端

    因為不可能我們的程序會和webservice放在一起

    所以我們在自己的程序里要寫一個和服務端的接口一樣的類

    然后在自己的里面寫

            Service srvcModel = new
            ObjectServiceFactory().create(IHelloWorldMyService.class);
            XFireProxyFactory factory =
               new XFireProxyFactory(XFireFactory.newInstance().getXFire());
            String url =
               "http://localhost:8080/HelloWorld/services/HelloWorldService";
            try {
                IHelloWorldMyService srvc = (IHelloWorldMyService)factory.create(srvcModel, url);
               String result = srvc.example("hello world");
               System.out.print(result);
            } catch (MalformedURLException e){
               e.printStackTrace();
            }

    IHelloWorldMyService 這個接口和IHelloWorldService 一樣的。。里面方法一直就OK

    IHelloWorldMyService 代碼:

    public interface IHelloWorldMyService {
     
     public String example(String message);
     
    }

     

     如果是spring那就把url之類的拿出來做屬性用就好了。。

    好了教程到此結束

    posted on 2010-05-27 14:54 rogerfan 閱讀(845) 評論(0)  編輯  收藏 所屬分類: 【開源技術】
    主站蜘蛛池模板: 亚洲av午夜精品一区二区三区| 亚洲熟妇无码八AV在线播放| gogo免费在线观看| 亚洲av无码无在线观看红杏| 成人免费毛片内射美女-百度| 美女被吸屁股免费网站| 亚洲福利视频一区| 四虎影在线永久免费四虎地址8848aa| 国产在线观看无码免费视频| 亚洲毛片一级带毛片基地| 免费激情视频网站| 久久九九AV免费精品| 亚洲精品久久无码| 亚洲AV无码久久精品色欲| 免费视频淫片aa毛片| 日韩电影免费在线观看网站| 亚洲综合精品成人| 亚洲AV福利天堂一区二区三| 国产精品成人免费综合| 中文字幕亚洲免费无线观看日本 | 中文字幕无码亚洲欧洲日韩| 中文字幕在线亚洲精品| 四虎国产精品免费久久| 国产午夜精品久久久久免费视| 色窝窝亚洲av网| 亚洲精品视频免费在线观看| 亚洲综合国产一区二区三区| 午夜时刻免费入口| 亚洲毛片在线免费观看| a级精品九九九大片免费看| 羞羞视频免费网站含羞草| 亚洲av午夜精品无码专区| 久久伊人久久亚洲综合| 精品国产人成亚洲区| 国产精品嫩草影院免费| 我要看免费的毛片| 亚洲免费黄色网址| 99久久免费精品视频| 99视频在线观看免费| 一级一片免费视频播放| 黄色网址免费在线|