MyEclipse下XFire開發Webservice執行個體

來源:互聯網
上載者:User

最近在研究JAVA開發Webservice,發現網路上比較流行的幾種選擇AXIS、XFire、CFX(XFire的下一代),前幾天轉了幾篇關於這三種選擇的比較的文章,對它們已經有了些概念。決定自己實踐一個例子

     在開始前,先介紹一些概念:

     XFire Java SOAP架構概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml )
    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傳輸協議

一、環境配置:MyEclipse7.0
                     JDK1.6
二、建立Web Service Project
      1)在MyEclipse中選擇File—>New—>Other,選擇Web Service Project
       

      2)Project Name:WebServiceServer,Framework:XFire,其他選項預設
      

     3)Next,這一步保持預設值
     4)Project Library選擇,選擇XFire 1.2  Core Libraries

     

    5)Finish,建立成功後看到的工程目錄如下:
    

    6)完成以上5步後,查看WebRoot/WEB-INF/web.xml

         這裡指明了當遇到/services/*請求時,將選用XFireConfigurableServlet來處理    


三、建立Web Service Code
    1)通過File—>New—>Other—>Web Services—>Web Service wizard建立JAVA CODE
     

     2)選擇通過JAVA CLASS建立Web Service
     

     3)建立HelloWebService.java,通過New建立com.service package,嚮導將為工程自動建立對應的介面類與實作類別
     

     建立成功後查看WebServices/services.xml,發現設定檔多了以下內容:
     

    4)修改HelloWebServiceImpl.java
    package com.service;
    //Generated by meteorWJ

   public class HelloWebServiceImpl implements IHelloWebService {
    
     public String example(String message) {
        return getAuthor()+","+message;
     }
     private String getAuthor(){
        return "meteorWJ";
     }
    
   }

 

四、部署並測試WebSericeServer

    1)部署WebServiceServer
    

    在部署嚮導中選擇項目、伺服器
    

    2)啟動伺服器
     
   3)測試WebService
   MyEclipse提供了一個Web Service Explorer來測試Web Service
    
   挑選清單中的Launch SOAP Web Services Explorer
   4)選擇WSDL模式
   

   5)在Explorer中選擇WSDL Main,在右邊的URL中輸入
   http://localhost:9090/WebServiceServer/services/HelloWebService?WSDL,單擊"Go"
   其中9090是伺服器連接埠號碼,services在之前的web.xml中指定
   若在Status中顯示成功開啟WSDL檔案則測試成功
     
五、建立WebService用戶端
經過以上幾步,我們已經成功發布了一個WebService,現在需要建立一個用戶端來調用該服務
  1)建立Java Project:WebServiceClient
  2)引入MyEclipse Libraries
       右鍵WebServiceClient—>Build Path—>Add Libraries
  

  選擇XFire 1.2 HTTP Client Libraries
  

   3)建立HelloWebService.java
   在src目錄下建立com.client.HelloWebService.java
   package com.client;

   import java.net.URL;
   import org.codehaus.xfire.client.Client;

   public class HelloWebService {
       public static void main(String[] args) throws Exception
       {
        Client client = new Client(new URL("http://localhost:9090/WebServiceServer/services/HelloWebService?wsdl"));
        Object[] results = client.invoke("example", new Object[] {"hello"});
        System.out.println((String) results[0]);
       }
   }

   4)在確認伺服器啟動的情況下,運行HelloWebService.java
   右鍵點擊Run As>Java Application,在控制台中看到如下輸出

    

 

本次執行個體到此就算完成了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.