生活随笔
收集整理的這篇文章主要介紹了
JAVA中使用XFire调用WebService接口
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://blog.csdn.net/wangjian223344/article/details/11899187
首先以helloworld為例。網上看了好多xifre的例子幾乎沒好用的煩燥
一、服務端(為客戶端提供Webservice接口)
開發步驟:1.創建工程
File->New->Web Service Project,彈出Web Service Project窗口,需要填寫ProjectName(WebServiceProject),選擇XFire,然后一路next,直到完成。
??????????????????? 創建完成后,打開生成的web.xml文件,可以看到,XFire已經配置好了。
[html]?view plaincopy
<?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>??
2.創建WebService服務 配置services.xml
[html]?view plaincopy
<?xml?version="1.0"?encoding="UTF-8"?>?? ?<beans?xmlns="http://xfire.codehaus.org/config/1.0">?? ?????<service>?? ?????????<name>IMyService</name>?? ?????????<namespace>com.demo.service</namespace>?? ?????????<serviceClass>com.demo.service.IIMyService</serviceClass>?? ?????????<implementationClass>com.demo.service.IMyServiceImpl</implementationClass>?? ?????????<style>wrapped</style>?? ?????????<use>literal</use>?? ?????????<scope>application</scope>?? ?????</service>?? </beans>??
3.生成了接口和默認實現
[java]?view plaincopy
<pre?name="code"?class="java">IIMyService.java</pre>package?com.demo.service;public?interface?IIMyService?{public?String?example(String?message);}??
[java]?view plaincopy
<pre?name="code"?class="java">IMyServiceImpl.java</pre>package?com.demo.service;public?class?IMyServiceImpl?implements?IIMyService?{public?String?example(String?message)?{??
服務端代碼生成完畢。測試
http://localhost:9999/WebServiceProject/services/IMyService?wsdl 成功后
二、客戶端(調用服務端提供的WebService接口方法)
1.我們將創建HelloWorld項目中的類。如果你還沒有這樣做的話,你需要添加的XFireHTTP客戶端庫,該項目將包含您的Java測試客戶端的構建路徑
(1)在包裝中,探索查看右鍵單擊HelloWorld項目,并選擇Build Path>從上下文菜單中添加庫
(2)選擇MyEclipse的圖書館
(3)選擇的XFire?HTTP客戶端庫
2.HelloWorldClient類
[html]?view plaincopy
package?com.myeclipse.client;?? ?? import?java.net.MalformedURLException;?? ?? import?org.codehaus.xfire.XFireFactory;?? import?org.codehaus.xfire.client.XFireProxyFactory;?? import?org.codehaus.xfire.service.Service;?? import?org.codehaus.xfire.service.binding.ObjectServiceFactory;?? ?? import?java.net.MalformedURLException;?? import?java.net.URL;?? ?? import?org.codehaus.xfire.client.Client;?? import?com.demo.client.IIMyService;?? ?? public?class?HelloWorldClient?{?? ?? ????public?static?void?main(String[]?args)throws?MalformedURLException,?? ????Exception??{??? //??????Service?srvcModel?=?new???ObjectServiceFactory().create(IIMyService.class);???? //??????XFireProxyFactory?factory?=????? //?????????new?XFireProxyFactory(XFireFactory.newInstance().getXFire());???? //??????String?helloWorldURL?=???? //?????????"http://localhost:9999/WebServiceProject/services/MyService";???? //??????try?{???? //??????????IIMyService?srvc?=?(IIMyService)factory.create(?srvcModel,?helloWorldURL);???? //?????????String?result?=?srvc.example("hello?world");???? //?????????System.out.print(result);???? //??????}?catch?(MalformedURLException?e)?{???? //?????????e.printStackTrace();???? //??????}??? ????????Client?client?=?new?Client(new?URL(?? ????????????????"http://localhost:9999/WebServiceProject/services/IMyService?wsdl"));?? ????????Object[]?results?=?client?? ????????????????.invoke("example",?new?Object[]?{?"hello?world"?});?? ????????System.out.println(results[0]);?? ?????????? ??????}??? ?? }??
3成功:)
注:http://www.myeclipseide.com/documentation/quickstarts/webservices/
總結
以上是生活随笔為你收集整理的JAVA中使用XFire调用WebService接口的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。