????? 今天有個(gè)朋友問到webserivce的基本用法,結(jié)合互聯(lián)網(wǎng)上的文章,我完善了一下:分為xFire和CXF兩部分來(lái)演示。以前是第一部分的實(shí)施過程。請(qǐng)大家測(cè)試。對(duì)于CXF的,我在下一篇文章中繼續(xù)介紹。
=====================================================================
?MyEclipse
Web
Services是建立在XFire JavaSOAP框架和
工具
基礎(chǔ)
上的, XFire是一款開源的JavaSOAP框架。本例將給各位演示一個(gè)入門級(jí)
Web
Services的編寫過程。
一、
環(huán)境
配置:MyEclipse8.0+JDK1.6
二、創(chuàng)建Web Service Project
?? 1)在MyEclipse中選擇File—>New—>Other,選擇Web Service Project
2)項(xiàng)目名稱:WebServiceServer,F(xiàn)ramework:XFire,其他選項(xiàng)默認(rèn)
3)Next,這一步保持默認(rèn)值
4)Project Library選擇,選擇XFire 1.2?? Core Libraries
5)Finish完成項(xiàng)目創(chuàng)建。
6)完成以上5步后,查看WebRoot/WEB-INF/web.xml
?? ?? 這里指明了當(dāng)遇到/
service
s/*請(qǐng)求時(shí),將選用XFireConfigurableServlet來(lái)處理
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
??? 注意把xalan.jar加到lib下
三、創(chuàng)建Web Service Code
1)通過File—>New—>Other—>Web Services—>Web Service wizard創(chuàng)建JAVA CODE
2)選擇通過JAVA CLASS創(chuàng)建Web Service
?
?
?3)創(chuàng)建HelloWebService. java ,通過New創(chuàng)建com.service package,向?qū)楣こ套詣?dòng)創(chuàng)建對(duì)應(yīng)的 接口 類與實(shí)現(xiàn)類
4)修改HelloWebServiceImpl.java
package org.csdn.net; public class HelloWebServiceImpl implements IHelloWebService { public String example(String message) { return getAuthor()+","+message; } private String getAuthor(){ return "meteorWJ"; } }
四、部署并測(cè)試WebSericeServer(Tomcat6.0)
1)部署WebServiceServer?
2)啟動(dòng)服務(wù)器
3)測(cè)試WebService
MyEclipse提供了一個(gè)Web Service Explorer來(lái)測(cè)試Web Service
?
?
?
4)選擇WSDL模式(在SOAP瀏覽器的右側(cè))
?
5)在Explorer中選擇WSDL Main,在右邊的URL中輸入
http://localhost:8089/WebServiceServer/services/HelloWebService?WSDL
,單擊"Go"
其中8080是服務(wù)器端口號(hào),我用的是tomcat,tomcat用的是8080.services在web.xml中指定的
??? 若在Status中顯示成功打開WSDL文件則測(cè)試成功
也可以在瀏覽器中輸入
??
http://localhost:8089/WebServiceServer/services
?
?五、創(chuàng)建WebService客戶端
經(jīng)過以上幾步,我們已經(jīng)成功發(fā)布了一個(gè)WebService,現(xiàn)在需要?jiǎng)?chuàng)建一個(gè)客戶端來(lái)調(diào)用該服務(wù)
?? 1)創(chuàng)建Java Project:WebServiceClient(這是project名稱,不是選項(xiàng),當(dāng)初看成選項(xiàng),郁悶半天也沒有找到此選項(xiàng))
?? 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:9089/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)中看到輸出結(jié)果。
?
?==========================================================
?此例并非個(gè)人原創(chuàng),歡迎大家板磚。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
