-
xfire webservice返回XMLObject15
先讲述下我的开发过程:
1.服务端开发:
1)我在服务端有一个实体类User,提供了三个属性id,name,pass;
2)建立一个dao接口,提供了三个方法:一个是通过id返回字符串name;第二个是通过id返回User对象;第三个是直接返回一个List(User对象的集合);这里为List<User>,使用的是网上说的泛型.
3)实现2)中的接口;
4)加入服务端的jar包,配置service.xml.
5)把应用部署到tomcat下,并启动应用.
6)用http://localhost:8080/test/services/UserService?wsdl访问.
在浏览器上生成一个wsdl文件.
至此,服务端配置完成.下面描述下客户端的配置操作
2.客户端开发:
1)把刚才生成的wsdl文件拷贝到src目录下.不需要改动什么.
2)把客户端jar包拷贝到lib目录下;
3)建立一个xml,这个xml就是可以执行的ant文件.
<?xml version="1.0" encoding="UTF-8"?> <project default="genfiles" basedir="."> <property name="lib" value="../WebRoot/WEB-INF/lib" /> <path id="myclasspath"> <fileset dir="${lib}"> <include name="*.jar" /> </fileset> <pathelement location="${genfiles}" /> </path> <property name="code_path" value="src" /> <property name="wsdl_path" value="UserService.wsdl" /> <property name="code_package" value="com.zhang.client" /> <target name="genfiles" description="Generate the files"> <taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="myclasspath" /> <wsgen outputDirectory="${code_path}" wsdl="${wsdl_path}" package="${code_package}" binding="xmlbeans" /> </target> </project>
4)执行刚才的哪个xml,自动生成三个java类文件.UserServiceClient.java,UserServiceImpl.java,UserServicePortType.java(这个是个接口),并且UserServiceImpl实现了这个UserServicePortType接口.
在这个方法接口中也有三个方法,public String getUsername(int id),public XMLObject getUser(int id),public XMLObject getAllUser();
问题:为什么在服务端的是User对象,List的都成了XMLObject类型.
5)建立一个test的测试类,在main方法中直接调用
UserServiceClient usc = new UserServiceClient(); UserServicePortType up = usc.getUserServiceHttpPort("http://localhost:8080/webservice/services/UserService");
使用 up对象就可以对接口中的方法实现调用了.
6)当我调用返回值是String的方法getUserName(),可以正确的得到name.调getUser()和getAllUser()的时候当然返回的就是XMLObject了.
问题:webservice是否在对象和集合操作的时候都是以xml在传递,如果是这样,那它本身是否提供了一种解决方法来实现到客户端把xml组成一个对象或是集合呢?注意:客户端调用的时候服务端一定要把服务启动起来.[/b]网上看了好多的帖子,大部分都是把服务端和客户端在同一个应用下,客观的说,他们的测试在某一层面上看来没有什么作用的.我上面的是客户端和服务端在两个不同的应用上.
希望有人帮忙提出解决方法和意见出来.先谢谢啦!2008年6月19日 11:12
2个答案 按时间排序 按投票排序
-
axis2,xfire都是java中不错的webservice组件。
最简单的客户端开发,就是利用组件自带的工具,根据wsdl文件来生成客户端代码,会让你选择xml对象组件,比如XMLBeans之类。然后在自己的代码中初始化这一客户端实例,直接调用api,返回对象。
2008年6月20日 10:41
-
回答1:请参阅SOAP简单对象协议。http://www.w3school.com.cn/soap/index.asp
回答2:请先了解了soap,然后做几个clint端的helloworld,非基于java的,例如asp.net、javascript或flash的,做几个就明白了。都有客户端api可以使用。2008年6月20日 09:06
相关推荐
【xfire webservice 实例】是一个综合性的项目,它整合了xfire、Spring和Hibernate三大技术,用于构建高效、灵活的Web服务。Xfire是一款强大的Java Web服务框架,它简化了创建、部署和消费Web服务的过程。Spring是...
**XFire Webservice 客户端详解** XFire Webservice 客户端是一款专为连接XFire游戏平台的网络服务而设计的应用程序。XFire是一个已停运的在线游戏社区,它允许玩家与朋友交流、追踪游戏状态以及分享游戏成就。尽管...
【XFire WebService简介】 XFire是一款开源的Java Web服务框架,它允许开发者快速、简单地创建和部署Web服务。XFire是Apache CXF项目的前身,其设计目标是提供一个轻量级、高性能且易于使用的Web服务实现。在这个...
Xfire是Apache CXF项目的一个早期版本,它提供了SOAP(Simple Object Access Protocol)支持,用于在不同的系统之间交换数据。Xfire不仅支持WSDL(Web Services Description Language)定义服务接口,还支持JAXB...
这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...
标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...
3. **配置XFire**:创建一个配置文件(如`xfire.xml`),定义服务的绑定和端点。 ```xml <xfire> </xfire> ``` 4. **启动XFire服务器**:使用XFire提供的启动器或Spring集成,启动服务监听指定端口。 ...
标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...
【xfire webservice简单样例程序】 在IT领域,Web服务是一种通过互联网交换数据和实现功能的方法。Web服务的核心技术之一就是WebService,它允许不同系统之间的应用程序进行通信,无视编程语言或操作系统。XFire...
1. **XML绑定**:XFire支持多种XML绑定技术,如JAXB(Java Architecture for XML Binding)和Aegis,它们能将Java对象直接映射为XML消息,反之亦然。 2. **注解驱动**:XFire利用Java注解来简化服务的配置,使得...
2. **SOAP协议**:XFire主要处理SOAP(Simple Object Access Protocol)消息,这是一种基于XML的标准,用于在Web服务中交换结构化信息。 3. **Web服务开发流程**:通过XFire,开发者可以定义服务接口,实现接口,...
XFire利用JAXB(Java Architecture for XML Binding)将Java对象与XML进行绑定,使得数据交换更加直观。同时,XFire支持多种协议,包括SOAP、RESTful、JMS等,以及多种数据格式,如XML、JSON。 要创建一个使用XFire...
【xfire webservice】是关于使用XFire框架创建和使用Web服务的知识点。XFire是一个Java库,用于构建和消费Web服务,它简化了服务的创建过程,并支持多种协议,如SOAP、REST和XML-RPC。 一、环境配置 在开发基于...
在Web服务领域,WebService是一种标准,允许不同系统之间的应用程序通过网络进行通信,通常基于SOAP(Simple Object Access Protocol)协议和WSDL(Web Services Description Language)。XFire是Apache CXF的前身,...
Web服务采用标准的协议如SOAP(Simple Object Access Protocol)进行通信,XML(Extensible Markup Language)作为数据交换格式,WSDL(Web Services Description Language)用于定义服务接口,UDDI(Universal ...
1. WebService基础:WebService是一种基于XML(Extensible Markup Language)的标准,通过SOAP(Simple Object Access Protocol)进行数据交换,WSDL(Web Services Description Language)定义服务接口,UDDI...
Xfire是Apache CXF项目的前身,它提供了一个简单且高效的框架来实现基于SOAP(Simple Object Access Protocol)的Web服务。 在描述中提到,"xfire 在java下的webservice调用 可以下载直接使用 jdk1.6",这意味着...
【Xfire Webservice 例子详解】 Xfire 是一款曾经流行的游戏社交软件,它允许玩家在游戏中进行即时通讯、好友管理以及游戏统计等功能。然而,我们今天要讨论的是如何利用 Xfire 提供的 Web Service API 来开发自己...
4. **配置服务**:使用Xfire的注解或XML配置文件来声明你的服务。注解方式更为直观,可以直接在服务接口或实现类上使用`@WebService`注解。XML配置文件则提供了更多的灵活性。 5. **发布服务**:通过调用Xfire提供...