最近在研究JAVA開(kāi)發(fā)Webservice,發(fā)現(xiàn)網(wǎng)絡(luò)上比較流行的幾種選擇AXIS、XFire、CFX(XFire的下一代),前幾天轉(zhuǎn)了幾篇關(guān)于這三種選擇的比較的文章,對(duì)它們已經(jīng)有了些概念。決定自己實(shí)踐一個(gè)例子
在開(kāi)始前,先介紹一些概念:
XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml ) MyEclipse Web Services是建立在XFire Java SOAP框架和工具基礎(chǔ)上的, XFire是一款開(kāi)源的Java SOAP框架。它擁有一個(gè)輕量級(jí)的信息處理模塊,通過(guò)STAX來(lái)與SOAP信息相結(jié)合。提供了一個(gè)工作在Web Services下的簡(jiǎn)單API,支持POJO和schema開(kāi)發(fā). XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory傳輸協(xié)議
一、環(huán)境配置:MyEclipse7.0 JDK1.6 二、創(chuàng)建Web Service Project 1)在MyEclipse中選擇File—>New—>Other,選擇Web Service Project
2)Project Name:WebServiceServer,F(xiàn)ramework:XFire,其他選項(xiàng)默認(rèn) 
3)Next,這一步保持默認(rèn)值 4)Project Library選擇,選擇XFire 1.2 Core Libraries
5)Finish,創(chuàng)建成功后看到的工程目錄如下: 
6)完成以上5步后,查看WebRoot/WEB-INF/web.xml
這里指明了當(dāng)遇到/services/*請(qǐng)求時(shí),將選用XFireConfigurableServlet來(lái)處理 
三、創(chuàng)建Web Service Code 1)通過(guò)File—>New—>Other—>Web Services—>Web Service wizard創(chuàng)建JAVA CODE
2)選擇通過(guò)JAVA CLASS創(chuàng)建Web Service
3)創(chuàng)建HelloWebService.java,通過(guò)New創(chuàng)建com.service package,向?qū)楣こ套詣?dòng)創(chuàng)建對(duì)應(yīng)的接口類(lèi)與實(shí)現(xiàn)類(lèi)
創(chuàng)建成功后查看WebServices/services.xml,發(fā)現(xiàn)配置文件多了以下內(nèi)容:
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"; } }
四、部署并測(cè)試WebSericeServer
1)部署WebServiceServer
在部署向?qū)е羞x擇項(xiàng)目、服務(wù)器
2)啟動(dòng)服務(wù)器 3)測(cè)試WebService MyEclipse提供了一個(gè)Web Service Explorer來(lái)測(cè)試Web Service 選擇列表中的Launch SOAP Web Services Explorer 4)選擇WSDL模式 
5)在Explorer中選擇WSDL Main,在右邊的URL中輸入 http://localhost:9090/WebServiceServer/services/HelloWebService?WSDL,單擊"Go" 其中9090是服務(wù)器端口號(hào),services在之前的web.xml中指定 若在Status中顯示成功打開(kāi)WSDL文件則測(cè)試成功 五、創(chuàng)建WebService客戶(hù)端 經(jīng)過(guò)以上幾步,我們已經(jīng)成功發(fā)布了一個(gè)WebService,現(xiàn)在需要?jiǎng)?chuàng)建一個(gè)客戶(hù)端來(lái)調(diào)用該服務(wù) 1)創(chuàng)建Java Project:WebServiceClient 2)引入MyEclipse Libraries 右鍵WebServiceClient—>Build Path—>Add Libraries 
選擇XFire 1.2 HTTP Client Libraries 
3)創(chuàng)建HelloWebService.java 在src目錄下創(chuàng)建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)在確認(rèn)服務(wù)器啟動(dòng)的情況下,運(yùn)行HelloWebService.java 右鍵點(diǎn)擊Run As>Java Application,在控制臺(tái)中看到如下輸出
本次實(shí)例到此就算完成了。
|