????? 今天有個朋友問到webserivce的基本用法,結合互聯網上的文章,我完善了一下:分為xFire和CXF兩部分來演示。以前是第一部分的實施過程。請大家測試。對于CXF的,我在下一篇文章中繼續介紹。
=====================================================================
?MyEclipse
Web
Services是建立在XFire JavaSOAP框架和
工具
基礎
上的, XFire是一款開源的JavaSOAP框架。本例將給各位演示一個入門級
Web
Services的編寫過程。
一、
環境
配置:MyEclipse8.0+JDK1.6
二、創建Web Service Project
?? 1)在MyEclipse中選擇File—>New—>Other,選擇Web Service Project
2)項目名稱:WebServiceServer,Framework:XFire,其他選項默認
3)Next,這一步保持默認值
4)Project Library選擇,選擇XFire 1.2?? Core Libraries
5)Finish完成項目創建。
6)完成以上5步后,查看WebRoot/WEB-INF/web.xml
?? ?? 這里指明了當遇到/
service
s/*請求時,將選用XFireConfigurableServlet來處理
<?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下
三、創建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,向導將為工程自動創建對應的 接口 類與實現類
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"; } }
四、部署并測試WebSericeServer(Tomcat6.0)
1)部署WebServiceServer?
2)啟動服務器
3)測試WebService
MyEclipse提供了一個Web Service Explorer來測試Web Service
?
?
?
4)選擇WSDL模式(在SOAP瀏覽器的右側)
?
5)在Explorer中選擇WSDL Main,在右邊的URL中輸入
http://localhost:8089/WebServiceServer/services/HelloWebService?WSDL
,單擊"Go"
其中8080是服務器端口號,我用的是tomcat,tomcat用的是8080.services在web.xml中指定的
??? 若在Status中顯示成功打開WSDL文件則測試成功
也可以在瀏覽器中輸入
??
http://localhost:8089/WebServiceServer/services
?
?五、創建WebService客戶端
經過以上幾步,我們已經成功發布了一個WebService,現在需要創建一個客戶端來調用該服務
?? 1)創建Java Project:WebServiceClient(這是project名稱,不是選項,當初看成選項,郁悶半天也沒有找到此選項)
?? 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:9089/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,在控制臺中看到輸出結果。
?
?==========================================================
?此例并非個人原創,歡迎大家板磚。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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