- 浏览: 2655470 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 45471. 替换Ubuntu源 编辑/etc/apt/source. ... -
Android开发WeatherForecast程序
2009-03-28 13:38 62451,使用Googel API http://www.googl ... -
Android程序开发入门
2009-03-26 14:26 29921, 安装软件 1) JDK 2) Eclipse 3) AD ... -
Spring与ThreadLocal的讨论
2007-07-31 12:27 3879Singleton是不能使用非Singleton的实例的 比如 ... -
Spring基础培训ppt
2007-07-30 19:34 6169做ppt还真是累 更新了一下ppt. -
使用Jetty和DWR创建伸缩性Comet程序
2007-07-28 21:11 7443Ajax for Java developers: Write ... -
Java代码规范
2007-07-19 01:12 3413http://java.sun.com/docs/codeco ... -
Spring JavaConfig参考文档
2007-07-14 18:37 12800Spring JavaConfig参考文档 Spring Ja ... -
Tiger in the house
2007-07-14 02:49 8215很高兴花周五晚上2个小时的时间来阅读这样一本实用的书 -- 《 ... -
深入了解Java ClassLoader、Bytecode 、ASM、cglib
2007-07-05 16:50 19359一、Java ClassLoader 1,什么是ClassL ... -
Java里判断Image文件信息格式(GIF/PNG/JPG)/Size/Height/Width?
2007-06-05 18:01 92311,判断Image格式 用UE打开GIF/PNG/JPG格式的 ... -
推荐轻量级面向服务Web开发库Objot
2007-05-27 22:17 3181Objot是我们公司Aragon Consulting Gro ... -
实战Mule:利用Mule调用XFire发布的文件上传服务
2007-03-27 15:17 5915配置Mule和XFire环境 参考前面的文章实战Mule:利用 ... -
实战Mule:利用Mule调用XFire发布的Web服务
2007-03-26 17:26 9320下载和安装XFire和Mule 参考http://hideto ... -
开源ESB引擎Mule初印象
2007-03-22 18:13 10606Mule is the leading open source ... -
学习Eclipse RCP之Hello World
2007-03-12 17:57 4217创建插件项目 打开Eclipse并选择File->New ... -
Google Web Toolkit上手指南
2007-03-12 16:07 4729目录 安装Google Web Toolkit 构建一个简单的 ... -
5分钟学习Maven2
2007-03-12 01:12 5908安装 Maven是一个Java工具,所以你必须安装Java环境 ... -
在UDDI注册中心里使用WSDL
2007-03-09 15:55 7227原文链接:http://www.oasis-open.org/ ... -
Axis2快速上手指南
2007-03-01 23:22 74279原文链接:http://ws.apache.org/axis2 ...
相关推荐
xfire实现webservice实例,XFire WebService开发快速起步
xfire-all-1.2.6 xfire所需的全部包
XFire--Webservice入门xfire
Xfire API 对开发web services有帮助!编写程序时作为参考!
Xfire案例
activation.jar commons-logging.jar jdom-1.0.jar spring.jar spring-mock.jar stax-api-1.0.1.jar stax-utils-snapshot-20040917.jar wsdl4j-1.5.2.jar wstx-asl-3.0.1.jar ...xfire-xmlbeans-1.2.2.jar
XFire完整入门教程XFire完整入门教程XFire完整入门教程XFire完整入门教程
xfire 1.26 博文链接:https://qgl.iteye.com/blog/119726
1、以下四个类调用了XmlSchema-1.1.jar包 因与cxf包xmlschema-core-*.jar... xfire-all-1.2.6-incomplete.jar 替换 xfire-all-1.2.6.jar 3、XmlSchema-1.1.jar 可以与 xmlschema-core-*.jar 共存避开同路径同名类冲突
使用eclipse导入项目,既可使用。 【webservice----xfire 快速入门代码实训】----<下载不扣分,回帖加1分,欢迎下载,童叟无欺>
1、以下四个类调用了XmlSchema-1.1.jar包 因与cxf包xmlschema-core-*.jar... xfire-all-1.2.6-incomplete.jar 替换 xfire-all-1.2.6.jar 3、XmlSchema-1.1.jar 可以与 xmlschema-core-*.jar 共存避开同路径同名类冲突
xfire-1.2.6.rar xfire-1.2.6.rar xfire-1.2.6.rar
1. 简单易用:xfire提供了一个简单、易于使用的API,开发者可以快速地开发和部署WebService。 2. 高效灵活:xfire支持多种类型的WebService,包括SOAP、REST、XML-RPC等,同时也提供了一个基于annotation的编程模型...
myeclipse10 安装xfire插件包
进行WebService开发中所用到的xfire所有相关包如:xfire-jsr181-api-1.0-M1.jar、xfire-jaxws-1.2.6.jar、xfire-java5-1.2.6.jar、xfire-core-1.2.6.jar、xfire-annotations-1.2.6.jar、xfire-aegis-1.2.6.jar、...
xfire框架的依赖包
spring xfire spring 集成xfire 比较好的一种方式
最近使用webservice,使用的是myeclipse10.0,要安装xfire插件但是在配置中心安装太慢了,弄了很久,找到一个可以解决的方案了,成功了,太开心了,记录下来