0 0

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]网上看了好多的帖子,大部分都是把服务端和客户端在同一个应用下,客观的说,他们的测试在某一层面上看来没有什么作用的.我上面的是客户端和服务端在两个不同的应用上.

希望有人帮忙提出解决方法和意见出来.先谢谢啦!
SOA 
2008年6月19日 11:12

2个答案 按时间排序 按投票排序

0 0

axis2,xfire都是java中不错的webservice组件。

最简单的客户端开发,就是利用组件自带的工具,根据wsdl文件来生成客户端代码,会让你选择xml对象组件,比如XMLBeans之类。然后在自己的代码中初始化这一客户端实例,直接调用api,返回对象。

2008年6月20日 10:41
0 0

回答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 webservice 实例】是一个综合性的项目,它整合了xfire、Spring和Hibernate三大技术,用于构建高效、灵活的Web服务。Xfire是一款强大的Java Web服务框架,它简化了创建、部署和消费Web服务的过程。Spring是...

    XFire Webservice 客户端

    **XFire Webservice 客户端详解** XFire Webservice 客户端是一款专为连接XFire游戏平台的网络服务而设计的应用程序。XFire是一个已停运的在线游戏社区,它允许玩家与朋友交流、追踪游戏状态以及分享游戏成就。尽管...

    简单的XFire WebService例子

    【XFire WebService简介】 XFire是一款开源的Java Web服务框架,它允许开发者快速、简单地创建和部署Web服务。XFire是Apache CXF项目的前身,其设计目标是提供一个轻量级、高性能且易于使用的Web服务实现。在这个...

    Xfire Webservice的例子

    Xfire是Apache CXF项目的一个早期版本,它提供了SOAP(Simple Object Access Protocol)支持,用于在不同的系统之间交换数据。Xfire不仅支持WSDL(Web Services Description Language)定义服务接口,还支持JAXB...

    Java使用XFire调用WebService接口

    这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...

    Xfire调用webservice无法传递参数问题

    标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...

    xfire实现webservice实例

    3. **配置XFire**:创建一个配置文件(如`xfire.xml`),定义服务的绑定和端点。 ```xml &lt;xfire&gt; &lt;/xfire&gt; ``` 4. **启动XFire服务器**:使用XFire提供的启动器或Spring集成,启动服务监听指定端口。 ...

    Xfire调用webservice无法接收到参数问题解决

    标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...

    xfire webservice简单样例程序

    【xfire webservice简单样例程序】 在IT领域,Web服务是一种通过互联网交换数据和实现功能的方法。Web服务的核心技术之一就是WebService,它允许不同系统之间的应用程序进行通信,无视编程语言或操作系统。XFire...

    webservice的xfire

    1. **XML绑定**:XFire支持多种XML绑定技术,如JAXB(Java Architecture for XML Binding)和Aegis,它们能将Java对象直接映射为XML消息,反之亦然。 2. **注解驱动**:XFire利用Java注解来简化服务的配置,使得...

    用xfire开发webservice实例(原稿)

    2. **SOAP协议**:XFire主要处理SOAP(Simple Object Access Protocol)消息,这是一种基于XML的标准,用于在Web服务中交换结构化信息。 3. **Web服务开发流程**:通过XFire,开发者可以定义服务接口,实现接口,...

    java xfire webService服务器端

    XFire利用JAXB(Java Architecture for XML Binding)将Java对象与XML进行绑定,使得数据交换更加直观。同时,XFire支持多种协议,包括SOAP、RESTful、JMS等,以及多种数据格式,如XML、JSON。 要创建一个使用XFire...

    xfire webservice

    【xfire webservice】是关于使用XFire框架创建和使用Web服务的知识点。XFire是一个Java库,用于构建和消费Web服务,它简化了服务的创建过程,并支持多种协议,如SOAP、REST和XML-RPC。 一、环境配置 在开发基于...

    XFire WebService

    在Web服务领域,WebService是一种标准,允许不同系统之间的应用程序通过网络进行通信,通常基于SOAP(Simple Object Access Protocol)协议和WSDL(Web Services Description Language)。XFire是Apache CXF的前身,...

    webservice xfire 客户端调用实现

    Web服务采用标准的协议如SOAP(Simple Object Access Protocol)进行通信,XML(Extensible Markup Language)作为数据交换格式,WSDL(Web Services Description Language)用于定义服务接口,UDDI(Universal ...

    Xfire建立WebService.zip

    1. WebService基础:WebService是一种基于XML(Extensible Markup Language)的标准,通过SOAP(Simple Object Access Protocol)进行数据交换,WSDL(Web Services Description Language)定义服务接口,UDDI...

    xfire webService

    Xfire是Apache CXF项目的前身,它提供了一个简单且高效的框架来实现基于SOAP(Simple Object Access Protocol)的Web服务。 在描述中提到,"xfire 在java下的webservice调用 可以下载直接使用 jdk1.6",这意味着...

    Xfire webservice 例子

    【Xfire Webservice 例子详解】 Xfire 是一款曾经流行的游戏社交软件,它允许玩家在游戏中进行即时通讯、好友管理以及游戏统计等功能。然而,我们今天要讨论的是如何利用 Xfire 提供的 Web Service API 来开发自己...

    使用xfire发布的webservice完整实例

    4. **配置服务**:使用Xfire的注解或XML配置文件来声明你的服务。注解方式更为直观,可以直接在服务接口或实现类上使用`@WebService`注解。XML配置文件则提供了更多的灵活性。 5. **发布服务**:通过调用Xfire提供...

Global site tag (gtag.js) - Google Analytics