`
chengxianke
  • 浏览: 2315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类

xFire 出现的问题 , 请各位大师们帮忙看看, 谢谢。。。

阅读更多
刚学习WebService,就发现问题啦, 一直没有解决, 真烦, 现在将遇到的问题贴出来, 给大家看看。。

程序报的错误是:
org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn't instantiate class. com.northking.pojo.Student
org.codehaus.xfire.fault.XFireFault: Couldn't instantiate class. com.northking.pojo.Student

Student类:
ublic class Student {
String userName;

String userNo;

String userAge;

public Student(String name, String userNo, String age) {
this.userName = name;
this.userAge = age;
this.userNo = userNo;
}

public String getUserAge() {
return userAge;
}

public void setUserAge(String userAge) {
this.userAge = userAge;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public String getUserNo() {
return userNo;
}

public void setUserNo(String userNo) {
this.userNo = userNo;
}

}

Service.xml :
<service>
<name>colStudent</name>
<serviceClass>com.northking.wsdemo.ICollStudent</serviceClass>
<implementationClass>
com.northking.wsdemo.CollStudentImpl
</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>

ICollStudent:

public interface ICollStudent {
/**
* 获取student信息
*
* @return
*/
public Collection<Student> getStudentInfo();

}

CollstudentImpl:
public class CollStudentImpl implements ICollStudent {

/**
* 获取student信息
*
* @return
*/
public Collection<Student> getStudentInfo() {
Collection<Student> col = new ArrayList();
col.add(new Student("cheng", "001", "29"));
col.add(new Student("Li", "002", "29"));

return col;

}

}


上面这些是用xfire定义了实现WebService的接口,类,以及service.xml。 下面, 我是在客户端调用这个service.

Service srvcModel = new ObjectServiceFactory()
.create(ICollStudent.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());
String serviceWSDL = "http://localhost:8080/StudyWebService/services/colStudent";

try {

ICollStudent compService = (ICollStudent) factory.create(srvcModel,
serviceWSDL);

Collection<Student> studentCol = compService.getStudentInfo();

} catch (Exception e) {
e.printStackTrace();

}
当一开始调用service时,就报错啦, 出错的日志如下:
org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn't instantiate class. com.northking.pojo.Student
org.codehaus.xfire.fault.XFireFault: Couldn't instantiate class. com.northking.pojo.Student
at org.codehaus.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:221)
at org.codehaus.xfire.aegis.type.basic.ArrayType.readCollection(ArrayType.java:80)
at org.codehaus.xfire.aegis.type.collection.CollectionType.readObject(CollectionType.java:36)
at org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:154)
at org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206)
at org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:50)
at org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Client.onReceive(Client.java:382)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
at org.codehaus.xfire.client.Client.invoke(Client.java:335)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy0.getStudentInfo(Unknown Source)
at com.northking.client.ServiceClient.main(ServiceClient.java:37)
Caused by: java.lang.InstantiationException: com.northking.pojo.Student
at java.lang.Class.newInstance0(Class.java:335)
at java.lang.Class.newInstance(Class.java:303)
at org.codehaus.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:124)
... 18 more


请问,各位大师们, 这个问题该如何解决啊, 刚学就遇到了这个问题, 给我的打击特别大啊。。。。。。 求各位大师帮忙。。。 谢。


分享到:
评论
2 楼 jsprun 2010-04-12  
1 楼 weiweisky 2008-11-05  
If you have constructors defined in your Java beans, make sure a default constructor (i.e. no arguments) is also declared. (Aegis needs a no-argument contstructor to instantiate client Java classes.)

需要一个无参的构造器。

试试看是否这个问题

相关推荐

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

    在本文中,我们将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决策略。 首先,让我们了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信,使得不同的...

    xfire

    xfire是一款历史悠久的在线游戏平台,它在2004年由GameSpy Industries开发并发布,主要功能是为玩家提供即时通讯、好友列表、游戏内聊天和游戏统计等功能,旨在增强玩家的游戏体验。xfire 1.26是该平台的一个特定...

    Xfire API,Xfire帮助文档

    为了更好地理解和使用Xfire API,开发者可以参考提供的帮助文档,文档中通常会包含API接口的详细说明、示例代码以及常见问题解答。对于初学者,理解每个API方法的功能和参数、以及如何正确构造HTTP请求是非常重要的...

    XFire创建的WebService

    【XFire创建的WebService】是基于Java平台的开源框架,用于构建和消费Web服务。它在Web服务领域提供了一个轻量级、高性能的选择,尤其适合快速开发。在本例中,我们将探讨如何使用XFire来创建一个简单的WebService...

    XFire容易配置出现的几个异常信息

    标题“XFire容易配置出现的几个异常信息”暗示了我们在配置XFire时可能会遇到的常见问题。以下是一些可能出现的异常以及相应的解决方案: 1. **找不到或无法加载主类异常**: 这通常是由于类路径设置不正确或JAR...

    xfire依赖jar包

    xfire是一个早期流行的开源Web服务框架,主要用于构建SOAP(简单对象访问协议)和RESTful(Representational State Transfer)服务。这个框架使得Java开发者能够轻松地创建、部署和消费Web服务。xfire依赖于一系列的...

    Xfire-v1.99 XFire最高版本

    **XFire v1.99:WebService开发框架详解** XFire,全称为XFire Integration Library,是一个基于Java的开源框架,专门用于构建和部署Web服务。这个“XFire最高版本”指的是XFire项目的最终或最优化的版本,它提供了...

    XFire--Webservice入门xfire

    XFire--Webservice入门xfire

    XFire完整入门教程

    XFire完整入门教程XFire完整入门教程XFire完整入门教程XFire完整入门教程

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

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

    xfire https

    这通常涉及到设置SSLSocketFactory,指定信任的证书,以及处理可能出现的证书链问题。如果服务端需要客户端验证,还需要提供客户端证书。 4. **调用Web Service**:生成客户端代理后,你可以通过代理类的方法调用...

    xfire-all-1.2.6 xfire所需的全部包

    《Xfire全方位解析:1.2.6版本的全面探讨》 Xfire,这款曾经在游戏社区中广受欢迎的即时通讯软件,以其独特的游戏整合功能和社交特性,为玩家提供了便捷的游戏内通信和社区交流平台。本文将深入探讨Xfire 1.2.6这一...

    xfire的简单实例

    【标题】:“xfire的简单实例” 在Web服务的世界中,xfire是一个历史悠久但功能强大的开源框架,它允许开发者快速地构建和部署基于Java的Web服务。xfire以其易用性和灵活性著称,使得Web服务的开发变得简单,尤其是...

    Xfire的client.zip_Xfire客户端代码_webservice

    5. **异常处理**:客户端代码需要有良好的错误处理机制,当与Web服务通信出现异常时,能正确捕获并处理错误,向用户反馈。 6. **安全性**:对于涉及敏感信息的Web服务,客户端代码可能需要实现加密和解密机制,如...

    Xfire案例,webserver——Xfire案例

    Xfire是一款曾经非常流行的社交软件,专为游戏爱好者设计,允许玩家在玩游戏时与朋友聊天、分享游戏状态和成就。这个“Xfire案例,webserver——Xfire案例”的主题可能涉及Xfire服务端的实现,特别是它如何作为web...

    安装 maven XFire插件

    如果按照上述步骤安装插件后,Eclipse中并未出现相应的功能项,可能的原因是Eclipse的缓存问题。解决办法是在命令行中运行`eclipse.exe -clean`命令,这将清除Eclipse的工作空间缓存,强制其重新加载所有配置,通常...

    xfire myeclipse10包

    【xfire myeclipse10包】是一款专为MyEclipse10集成开发环境设计的XFire插件安装包。XFire是一款强大的Java Web服务框架,它提供了对Web服务的全面支持,包括创建、部署和消费Web服务的能力。在MyEclipse这样的集成...

    xfire webservices源码

    【xfire webservices源码】是一个用于理解和学习Web服务实现的开源项目,它基于XFire框架,该框架是Java世界中一个流行的SOAP和RESTful Web服务实现工具。XFire允许开发者快速、简单地构建和部署Web服务。在这个源码...

    xfire eclipse plugin插件

    xfire eclipse plugin是一款专为Eclipse集成开发环境设计的插件,它主要目的是方便开发者在Eclipse中使用XFire框架进行服务导向架构(Service-Oriented Architecture, SOA)的开发工作。XFire是一个高性能、轻量级的...

Global site tag (gtag.js) - Google Analytics