自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Eclipse建立Webservice

開發(fā) 后端
本文通過簡單小實例講解Eclipse建立Webservice、pojo類、HelloWorldService接口、實現類是HelloWorldServiceImpl三個步驟來一步一步完成!

這里講解一個簡單的例子;

1.首先我們使用Eclipse建立Webservice工程:

建立webservice 

項目界面 

xfire調用webservice 

點擊finish之后我們就完成了Eclipse建立Webservice的過程。myeclipse自動幫你生成services.xml以及web應用目錄結構,其中的services.xml是你導出服務的配置文件,注意在WEB-INF/web.xml文件中配置了xfire自己的servlet.

  1. 〈servlet〉  
  2. 〈servlet-name〉XFireServlet〈/servlet-name〉  
  3. 〈servlet-class〉org.codehaus.xfire.  
  4. transport.http.XFireConfigurableServlet  
  5. 〈/servlet-class〉  
  6. load-on-startup〉0〈/load-on-startup〉  
  7. 〈/servlet〉  
  8. 〈servlet-mapping〉  
  9. 〈servlet-name〉XFireServlet〈/servlet-name〉  
  10. 〈url-pattern〉/services/*〈/url-pattern〉  
  11. 〈/servlet-mapping〉  

2.接下來,現在編寫要導出的pojo類,首先是接口:

  1. packagenet.rubyeye.webservicedemo;  
  2. //GeneratedbyMyEclipse  
  3. publicinterfaceIHelloWorldService{  
  4. publicStringsayHello(Stringname);  
  5. }  

這個接口我們只提供一個方法:sayHello(),我們沒有采用JSR181標注式的聲明方式,還是采用xml配置文件。然后是實現類:

  1. packagenet.rubyeye.webservicedemo;  
  2. //GeneratedbyMyEclipse  
  3. publicclassHelloWorld  
  4. ServiceImplimplementsIHelloWorldService{  
  5. publicStringsayHello(Stringname){  
  6. return"hello,"+name;  
  7. }  
  8. }  
  9.  
  10. 最后,配置下services.xml文件:  
  11. 〈service〉  
  12. name〉HelloWorldService〈/name〉  
  13. 〈serviceClass〉  
  14. net.rubyeye.webservicedemo.IHelloWorldService  
  15. 〈/serviceClass〉  
  16. 〈implementationClass〉  
  17. net.rubyeye.webservicedemo.HelloWorldServiceImpl  
  18. 〈/implementationClass〉  
  19. 〈style〉wrapped〈/style〉  
  20. 〈use〉literal〈/use〉  
  21. 〈scope〉application〈/scope〉  
  22. 〈/service〉  

我們使用Eclipse建立的Webserviceweb服務名稱叫做HelloWorldService,接口是IHelloWorldService,實現類是HelloWorldServiceImpl。注意,其實我們這三個步驟可以一步完成,只要直接使用myeclipse的new web service向導即可。

HelloWorldService

HelloWorldService

#p#

3.然后將此工程部署到tomcat上,通過http://localhost:8081/HelloWorld/services/HelloWorldService?wsdl可以看到生成的wsdl文件。注意,在部署之后,services會被拷貝到WEB-INFclassesMETA-INFxfire目錄下,xfire會自動搜索此目錄并加載配置文件。我們可以編寫一個client來測試web服務,你也可以點擊myeclipse上的Launch the Web Services來測試web服務。

HelloWorldService

4.編寫client代碼:

  1. packagenet.rubyeye.webservicedemo;  
  2. importjava.net.MalformedURLException;  
  3. importjava.util.ArrayList;  
  4. importjava.util.List;  
  5. importorg.codehaus.xfire.XFireFactory;  
  6. importorg.codehaus.xfire.client.  
  7. XFireProxyFactory;  
  8. importorg.codehaus.xfire.service.Service;  
  9. importorg.codehaus.xfire.service.  
  10. binding.ObjectServiceFactory;  
  11. publicclassHelloWorldClient{  
  12. publicstaticvoidmain(Stringargs[]){  
  13. ServicesrvcModel=newObjectServiceFactory()  
  14. .create(IHelloWorldService.class);  
  15. XFireProxyFactoryfactory=  
  16. newXFireProxyFactory(XFireFactory  
  17. .newInstance().getXFire());  
  18.  
  19. StringhelloWorldURL="http://localhost:  
  20. 8081/HelloWorld/services/HelloWorldService";  
  21. try{  
  22. IHelloWorldServicesrvc=(IHelloWorldService)  
  23. factory.create(  
  24. srvcModel,helloWorldURL);  
  25. System.out.print(srvc.sayHello("dennis"));  
  26. }catch(MalformedURLExceptione){  
  27. e.printStackTrace();  
  28. }  
  29. }  
  30. }  

執(zhí)行,打印:hello,dennis

注意,你也可以使用MyEclipse的new webservice client向導自動生成client,同時生成供客戶端調用的stub類等。

最后,我們再編寫一個C#調用Eclipse建立的Webservice的例子。

1.在vs.net中新建一個windows 應用程序項目,并添加一個button,和一個label

dennis

dennis

2.項目菜單——》添加web應用,輸入我們要調用的web服務的wsdl文件的url,并點擊前往。

dennis

3.添加引用之后,vs.net會自動幫你生成提供給客戶端調用的stub等,這些文件在名為localhost的命名空間下。此空間下將有一個類,名為HelloWorldService。最后,在button1的onclick事件中添加代碼:
  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.ComponentModel;  
  4. usingSystem.Data;  
  5. usingSystem.Drawing;  
  6. usingSystem.Text;  
  7. usingSystem.Windows.Forms;  
  8. namespaceMyProject  
  9. {  
  10. publicpartialclassForm1:Form  
  11. {  
  12. localhost.HelloWorldServicehelloService=  
  13. newlocalhost.HelloWorldService();  
  14. publicForm1()  
  15. {  
  16. InitializeComponent();  
  17. }  
  18. privatevoidbutton1_Click(objectsender,  
  19. EventArgse)  
  20. {  
  21. label1.Text=helloService.sayHello("dennis");  
  22. }  
  23. }  

我們new一個HelloWorldService ,并調用sayHello方法,將結果顯示在label上

4.執(zhí)行ctr+F5

dennis 

 

dennis 

【編輯推薦】

  1. C#中定義裝箱和拆箱詳解
  2. 淺談C#類型系統(tǒng)
  3. 三種不同的C#異常類型
  4. 詳細介紹C#編譯器
  5. C#異常機制的相關解釋
責任編輯:冰荷 來源: 3648
相關推薦

2014-11-18 11:20:51

webserviceCXFSpring

2011-11-29 10:23:47

JSPaxiswebservice

2009-08-06 16:44:03

C#創(chuàng)建WebServ

2009-06-11 09:39:33

netbeans 生成Webservice

2010-08-19 10:02:25

AndroidEclipseUbuntu

2009-06-18 15:33:40

2009-06-10 16:19:33

Eclipse開發(fā)PH

2010-05-20 18:52:06

Eclipse使用SV

2014-06-19 10:59:10

AndroidEclipse公共庫

2009-06-17 17:44:41

Eclipse插件Sp

2010-04-23 11:56:50

Oracle序列

2009-06-10 16:41:51

Links安裝Ecli

2009-06-10 16:35:25

HibernateEclipse安裝

2009-06-04 20:45:11

Eclipse插件安裝Eclipse插件使用

2011-09-13 17:03:16

Eclipse And

2009-06-01 15:32:30

EclipseJPA入門

2011-11-24 14:49:16

JavaJDKWebService

2009-08-07 13:55:35

Java客戶端類調用C# WebServi

2009-06-03 16:12:41

Eclipse開發(fā)AnAndroidEclipse

2012-04-11 10:39:32

Eclipse
點贊
收藏

51CTO技術棧公眾號