- 浏览: 2683138 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
80后的童年2:
深入浅出MongoDB应用实战开发网盘地址:https://p ...
MongoDB入门教程 -
shliujing:
楼主在不是精通java和php的前提下,请不要妄下结论。
PHP、CakePHP哪凉快哪呆着去 -
安静听歌:
希望可以一给一点点注释
MySQL存储过程之代码块、条件控制、迭代 -
qq287767957:
PHP是全宇宙最强的语言!
PHP、CakePHP哪凉快哪呆着去 -
rryymmoK:
深入浅出MongoDB应用实战开发百度网盘下载:链接:http ...
MongoDB入门教程
下载XFrie
首先,去http://xfire.codehaus.org下载最新版本的XFire
搭建webservice工程环境
在eclipse里创建一个叫webservice的java工程,然后依次添加src-service、src-conf、src-test和src-util这几个Source Folder以及web这个Folder
目录结构及文件如下:
然后将解压后的xfire的lib目录下所有jar包和xfire-all-1.*.jar复制到WEB-INF/lib目录
web.xml内容如下:
写一个BookService
我们将创建一个从ISBM号得到Book的Title的简单查询Web服务
首先创建Book.java
然后写一个BookService接口BookService.java
然后是BookService的实现BookServiceImpl.java
在services.xml中配置要发布的服务
在src-conf的META-INF/xfire目录创建services.xml
其中name标签决定了我们创建的该服务的WSDL的URL为http://xx.xx.xx/xx/xx/BookService?wsdl
在Tomcat中发布
可以简单的修改Tomcat的server.xml来发布该Web服务,在<Host>标签中添加以下内容:
现在打开浏览器访问http://localhost:8080/webservice/services/BookService?wsdl来看看生成的WSDL文档
客户端调用测试
我们将使用一个XfireClientFactory.java工具类来帮我们调用该Web服务:
然后编写一个BookServiceTest.java来调用我们刚才发布的Web服务:
服务调用成功,Console打印内容如下:
首先,去http://xfire.codehaus.org下载最新版本的XFire
搭建webservice工程环境
在eclipse里创建一个叫webservice的java工程,然后依次添加src-service、src-conf、src-test和src-util这几个Source Folder以及web这个Folder
目录结构及文件如下:
webservice src-service cn.hidetoishandsome.xfire.model Book.java cn.hidetoishandsome.xfire.service BookService.java cn.hidetoishandsome.xfire.service.impl BookServiceImpl.java src-conf META-INF xfire services.xml src-test cn.hidetoishandsome.xfire.test BookServiceTest.java src-util cn.hidetoishandsome.xfire.util XfireClientFactory.java web WEB-INF lib web.xml index.html
然后将解压后的xfire的lib目录下所有jar包和xfire-all-1.*.jar复制到WEB-INF/lib目录
web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>xfire</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>xfire</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>
写一个BookService
我们将创建一个从ISBM号得到Book的Title的简单查询Web服务
首先创建Book.java
package cn.hidetoishandsome.xfire.model; public class Book { private String title; private String isbn; public String getIsbn() { return isbn; } public void setIsbn(String isbn) { this.isbn = isbn; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } }
然后写一个BookService接口BookService.java
package cn.hidetoishandsome.xfire.service; import cn.hidetoishandsome.xfire.model.Book; public interface BookService { Book findBookByISBN(String isbn); }
然后是BookService的实现BookServiceImpl.java
package cn.hidetoishandsome.xfire.service.impl; import cn.hidetoishandsome.xfire.model.Book; import cn.hidetoishandsome.xfire.service.BookService; public class BookServiceImpl implements BookService { private Book book; public BookServiceImpl() { book = new Book(); book.setTitle("XFire Quick Start"); book.setIsbn("123456"); } public Book findBookByISBN(String isbn) { if (isbn.equals(book.getIsbn())) return book; throw new RuntimeException("Can't find book"); } }
在services.xml中配置要发布的服务
在src-conf的META-INF/xfire目录创建services.xml
<beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>BookService</name> <namespace>http://localhost:8080/xfire/services/BookService</namespace> <serviceClass>cn.hidetoishandsome.xfire.service.BookService</serviceClass> <implementationClass>cn.hidetoishandsome.xfire.service.impl.BookServiceImpl</implementationClass> </service> </beans>
其中name标签决定了我们创建的该服务的WSDL的URL为http://xx.xx.xx/xx/xx/BookService?wsdl
在Tomcat中发布
可以简单的修改Tomcat的server.xml来发布该Web服务,在<Host>标签中添加以下内容:
Context path="/webservice" docBase="D:\project\webservice\web" reloadable="true"/>
现在打开浏览器访问http://localhost:8080/webservice/services/BookService?wsdl来看看生成的WSDL文档
客户端调用测试
我们将使用一个XfireClientFactory.java工具类来帮我们调用该Web服务:
package cn.hidetoishandsome.xfire.util; import java.net.MalformedURLException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; import org.springframework.util.Assert; public class XfireClientFactory { private static XFireProxyFactory serviceFactory = new XFireProxyFactory(); private static final Log log = LogFactory.getLog(XfireClientFactory.class); private XfireClientFactory() { } public static <T> T getClient(String serviceURL, Class<T> serviceClass) { Assert.notNull(serviceURL); Assert.notNull(serviceClass); Service serviceModel = new ObjectServiceFactory().create(serviceClass); try { return (T) serviceFactory.create(serviceModel, serviceURL); } catch (MalformedURLException e) { log.error(e.getMessage(), e); return null; } } }
然后编写一个BookServiceTest.java来调用我们刚才发布的Web服务:
package cn.hidetoishandsome.xfire.test; import cn.hidetoishandsome.xfire.service.BookService; import cn.hidetoishandsome.xfire.util.XfireClientFactory; public class BookServieTest { public static void main(String[] args) { String serviceURL = "http://localhost:8080/webservice/services/BookService"; try { BookService service = XfireClientFactory.getClient(serviceURL, BookService.class); System.out.println("Book with ISBN '123456': 《" + service.findBookByISBN("123456").getTitle() + "》"); } catch (Exception e) { e.printStackTrace(); } } }
服务调用成功,Console打印内容如下:
Book with ISBN '123456': 《XFire Quick Start》
评论
3 楼
hua758209
2011-07-29
这些讲的都是在同一个工程下实现的,有没有跨工程的例子啊
2 楼
hideto
2008-06-18
客户端接口SDK得提供给客户端应用的
serviceURL指定远程URL即可
PS: 很久没碰这个东西了
serviceURL指定远程URL即可
PS: 很久没碰这个东西了
1 楼
xuewei
2008-06-18
你这里能够调是因为你在同一个 应用下.可以引进来BookService,如果你不是在同一个应用下呢?
BookService service = XfireClientFactory.getClient(serviceURL, BookService.class);
可以加你MSN或是QQ聊下这个吗?
MSN:xuewei2007@msn.com
QQ :280256825
BookService service = XfireClientFactory.getClient(serviceURL, BookService.class);
可以加你MSN或是QQ聊下这个吗?
MSN:xuewei2007@msn.com
QQ :280256825
发表评论
-
Ubuntu 11.10 安装Java、JIRA/Confluence/FishEye、Nginx
2012-03-01 22:26 46701. 替换Ubuntu源 编辑/etc/apt/source. ... -
Android开发WeatherForecast程序
2009-03-28 13:38 62931,使用Googel API http://www.googl ... -
Android程序开发入门
2009-03-26 14:26 30311, 安装软件 1) JDK 2) Eclipse 3) AD ... -
Spring与ThreadLocal的讨论
2007-07-31 12:27 3915Singleton是不能使用非Singleton的实例的 比如 ... -
Spring基础培训ppt
2007-07-30 19:34 6254做ppt还真是累 更新了一下ppt. -
使用Jetty和DWR创建伸缩性Comet程序
2007-07-28 21:11 7529Ajax for Java developers: Write ... -
Java代码规范
2007-07-19 01:12 3449http://java.sun.com/docs/codeco ... -
Spring JavaConfig参考文档
2007-07-14 18:37 12834Spring JavaConfig参考文档 Spring Ja ... -
Tiger in the house
2007-07-14 02:49 8294很高兴花周五晚上2个小时的时间来阅读这样一本实用的书 -- 《 ... -
深入了解Java ClassLoader、Bytecode 、ASM、cglib
2007-07-05 16:50 19464一、Java ClassLoader 1,什么是ClassL ... -
Java里判断Image文件信息格式(GIF/PNG/JPG)/Size/Height/Width?
2007-06-05 18:01 92871,判断Image格式 用UE打开GIF/PNG/JPG格式的 ... -
推荐轻量级面向服务Web开发库Objot
2007-05-27 22:17 3207Objot是我们公司Aragon Consulting Gro ... -
实战Mule:利用Mule调用XFire发布的文件上传服务
2007-03-27 15:17 5942配置Mule和XFire环境 参考前面的文章实战Mule:利用 ... -
实战Mule:利用Mule调用XFire发布的Web服务
2007-03-26 17:26 9409下载和安装XFire和Mule 参考http://hideto ... -
开源ESB引擎Mule初印象
2007-03-22 18:13 10673Mule is the leading open source ... -
学习Eclipse RCP之Hello World
2007-03-12 17:57 4253创建插件项目 打开Eclipse并选择File->New ... -
Google Web Toolkit上手指南
2007-03-12 16:07 4791目录 安装Google Web Toolkit 构建一个简单的 ... -
5分钟学习Maven2
2007-03-12 01:12 5953安装 Maven是一个Java工具,所以你必须安装Java环境 ... -
在UDDI注册中心里使用WSDL
2007-03-09 15:55 7322原文链接:http://www.oasis-open.org/ ... -
Axis2快速上手指南
2007-03-01 23:22 74369原文链接:http://ws.apache.org/axis2 ...
相关推荐
在提供的压缩包文件"api"中,可能包含了API的完整文档、SDK(软件开发工具包)、示例代码或测试工具,这些都是开发者快速上手和调试的宝贵资源。通过深入研究这些资料,开发者可以掌握如何将Xfire API 集成到自己的...
总结,XFire作为一款早期的Web服务框架,对Java开发者来说是一个快速上手Web服务的良好选择。虽然现在可能不再是最新的选择,但理解其工作原理和使用方法,对于理解Web服务的基本概念和开发流程仍然具有重要意义。...
同时,"webService-xfire入门"可能是详细教程或示例代码,有助于快速理解和上手XFire。 总的来说,学习和使用XFire,你需要理解Web服务的核心概念,熟悉Java编程,以及掌握XFire的API和配置。随着对XFire的深入应用...
通过阅读这份指南,开发者可以快速上手并深入理解XFire的工作原理。 2. **xfire-distribution-1.2.6.zip**:这是XFire 1.2.6的完整发行版,包含了运行库、API文档、示例代码和必要的配置文件。解压后,开发者可以...
本文将详细介绍如何在MyEclipse中安装XFire插件,以便于开发者能够快速上手并利用XFire框架的优势。 #### 步骤详解 ##### 第一步:访问帮助菜单 首先,打开MyEclipse IDE,进入主界面后,在顶部菜单栏找到“帮助...
Xfire Webservice是一个基于Java平台的服务框架,它允许开发者创建和使用Web服务。这个框架的主要目的是简化Web服务的开发过程,使开发人员...记得查看`说明文档.txt`,它会提供具体的步骤和指导,让你能够快速上手。
同时,还提供了一些代码示例,可以帮助开发者快速上手实践。通过学习这些文档和代码,你可以更好地理解和运用XFire,从而高效地开发出符合需求的WebService。 **总结** XFire作为一个优秀的WebService框架,为Java...
2. **阅读XFire文档**:官方文档提供了丰富的示例和教程,帮助你快速上手。 3. **动手实践**:通过编写简单的服务和客户端来实践XFire的使用,理论结合实践能加深理解。 4. **调试与测试**:学会使用XFire的测试工具...
这个快速起步指南旨在帮助开发者快速上手XFire,为更复杂的WebService项目打下基础。通过实践这个简单的例子,开发者可以深入理解Web服务的生命周期和工作原理,进一步探索更多高级特性和功能。
标题 "xfire所需的所有jar包与调用demo...通过这个压缩包,开发者不仅可以获取到XFire框架的完整依赖,还可以直接参考和学习到实际应用的实例,对于初学者或需要快速上手Web服务开发的人来说,这是一个非常宝贵的资源。
8. **示例代码和文档**:xfire-1.2.6开发包提供的示例代码可以帮助快速上手,同时SDK文档会详细解释服务的工作原理和使用方法。 9. **开发环境配置**:集成Xfire Web Service可能涉及到配置开发环境,例如设置代理...
通过具体的步骤指导,读者可以快速上手并理解整个开发流程。需要注意的是,虽然这里使用的是简单的加法服务作为示例,但实际开发中可以根据需求定制更为复杂的服务逻辑。此外,了解XFire的基本配置和工作原理对于更...
即使你是初学者,这份文档也能帮助你快速上手并掌握XFire的使用。 在压缩包中的"webservice"文件夹中,你可能会找到相关的源代码、配置文件和PDF文档。确保按照文档中的步骤操作,结合实际代码进行学习,这样能更好...
### 使用XFire在MyEclipse中快速开发WebService实例 ...这不仅展示了XFire框架的强大能力,也为开发者提供了一个快速上手的指南。在未来的工作中,可以继续探索XFire的更多高级特性,以满足更复杂的应用场景需求。
XFire 还具有易于上手、快速发布服务、灵活的 Binding 机制等特点。 与 Axis1 相比,XFire 的性能有了质的提高,XFire 比 Axis1.3 快 2-6 倍,XFire 的响应时间是 Axis1.3 的 1/2 到 1/5。XFire 的灵活性更高,...
这些资料对于新用户快速上手以及开发者深入理解xfire的内部工作原理都至关重要。 总结,xfire 1.26是一个专注于游戏社交的通讯工具,通过不断的版本迭代,它在提高游戏体验和社区互动方面发挥了重要作用。对于游戏...
**XFire开发指南** XFire,作为下一代Java SOAP框架,为开发者提供了一种高效、便捷的方式来构建面向服务架构(Service-Oriented ...在实际项目中,结合XFire提供的文档和示例,可以快速上手并实现复杂的SOA解决方案。
2. **服务使用示例**:通过实际代码示例展示如何在客户端调用服务,帮助开发者快速上手。 3. **数据模型**:定义了与服务交互的数据结构,如玩家信息、服务器状态等,通常以XML或JSON格式呈现。 4. **错误处理**:...