程序分为dao、Service、XFire层,不用XFire层时程序测试通过,加上XFire后,出现如下异常,疑为XFire不支持类的泛型。
异常 代码
- Exception in thread "Thread-2" org.codehaus.xfire.XFireRuntimeException: Couldn't write stream.. Nested exception is org.codehaus.xfire.XFireRuntimeException: Couldn't get property {http:
- org.codehaus.xfire.XFireRuntimeException: Couldn't get property {http:
- java.lang.reflect.InvocationTargetException
- at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
- at java.lang.reflect.Method.invoke(Unknown Source)
- at org.codehaus.xfire.aegis.type.basic.BeanType.readProperty(BeanType.java:467)
-
- ……
- ……
-
- Caused by: java.lang.StackOverflowError
- at java.security.AccessController.doPrivileged(Native Method)
- at java.lang.Class.getClasses(Unknown Source)
- at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
- at java.lang.reflect.Method.invoke(Unknown Source)
- at org.codehaus.xfire.aegis.type.basic.BeanType.readProperty(BeanType.java:467)
- at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:402)
- at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:417)
- …………
- …………
- at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:417)
- 2007-10-15 21:31:14,953 ERROR [org.codehaus.xfire.service.binding.PostInvocationHandler] -
- 2007-10-15 21:31:14,953 ERROR [org.codehaus.xfire.handler.DefaultFaultHandler] -
- org.codehaus.xfire.XFireRuntimeException: Couldn't read stream.. Nested exception is com.ctc.wstx.exc.WstxIOException: Write end dead
- com.ctc.wstx.exc.WstxIOException: Write end dead
- at com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:650)
- at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1071)
- at org.codehaus.xfire.transport.local.LocalChannel.sendViaNewChannel(LocalChannel.java:175)
- at org.codehaus.xfire.transport.local.LocalChannel.send(LocalChannel.java:75)
- at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
- …………
- …………
关键问题出在Page对象。
java 代码
如果为Page对象加上aegis则程序正常运行。
Page.aegis.xml
- <!---->xml version="1.0" encoding="UTF-8"?>
- <mappings xmlns:my="http://my.bjvsp.tongtech.com">
- <mapping name="my:User">
- <property name="list"
- componentType="cn.cetelem.accounting.model.CsiAcctPmtHistory" />
- mapping>
- mappings>
XFire的版本,我试过1.2.2和1.2.6。 搞了一天,还没找到答案
PS -- 在codehaus上也找到类似的: jira.codehaus.org/browse/XFIRE-1002
分享到:
相关推荐
JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。它提供了全面的API,使得开发者能够方便地发送、接收和管理邮件。这个库支持SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网...
5. **Lomboz**:面向J2EE项目的Eclipse插件,提供了一系列针对Java EE应用的开发支持。更新地址:`http://www.objectlearn.com/index.jsp` 6. **Spring IDE**:专注于Spring框架的开发工具,简化了Spring项目的设计...
<parameter index="0" componentType="java.lang.String"/> ``` - **`index`**: 参数的序号,从0开始。 - **`componentType`**: 集合参数内包含的类型。 如果方法有多个参数,仅需配置集合类型的参数即可。 #### ...
在Java6中,开发Web Service变得更加简单和直接,无需依赖额外的框架如CXF、Axis2或XFire。Java6引入了内置的JAX-WS(Java API for XML Web Services)支持,使得创建和发布Web Service成为可能,这大大简化了项目的...
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:30) at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131) at org.codehaus.xfire.client....
XFire是一个早期的开源Web服务框架,它允许开发者创建和消费SOAP服务,而Spring则是一个广泛使用的Java企业级应用开发框架。在这个例子中,我们将深入理解如何在Spring环境中配置和利用XFire来构建和消费Web服务。 ...
- 访问XFire官方网站(http://xfire.codehaus.org/)下载XFire 1.2.6版本的压缩包。 - 解压压缩包,获取所需的`jar`包。 2. **从MyEclipse安装目录获取`jar`包**: - 从路径`...\myeclipse\eclipse\plugins\...
Xfire(现更名为CXF)是Java平台上一个流行的开源框架,用于构建和部署Web服务。作为一个初学者,理解如何使用Xfire来实现Web服务是非常基础且重要的一步。下面将详细介绍Xfire实现Web服务的基础知识。 首先,我们...
这是我自己经过琢磨在工作中使用了一段时间Web Service后,自己学习Xfire的Web Service后编写的,随后发现Web Service其实就是这样简单。包中油服务器端代码,也有客户端代码,也有一个使用说明。要是你也想学习接触...
<servlet-class>org.codehaus.xfire.transport.servlet.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-name>XFireServlet</servlet-name> ...
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-name>XFireServlet</servlet-name> <url-pattern>...
本文将详细介绍如何使用JavaScript调用基于Java的WebService(使用Xfire框架)以及调用基于.NET的WebService。 首先,让我们了解什么是WebService。WebService是一种基于Web的应用程序接口,它使用标准的XML...
Service service = xfire.createService(new ServiceInfo(UserService.class.getName(), UserService.class)); service.setImplementation(new UserServiceImpl()); xfire.getServiceRegistry().register(service...
### Java实训教程知识点详解 #### 一、Web Service 技术概述 - **定义与功能**: - Web Service是一种采用HTTP协议进行通信的技术,它主要用于解决不同操作系统或编程环境下的系统之间相互调用的问题。例如,可以...
4. **配置XFIRE**:通过XFIRE的配置文件(通常为`xfire.xml`),可以指定服务的URL、数据绑定策略、安全性设置等关键参数。例如,可以通过以下配置启用Spring框架集成: ```xml <!-- 其他配置 --> <spring:...
XFire主页:http://xfire.codehaus.org/ XFire下载:http://xfire.codehaus.org/Download 去以上站点下载axis最新包 和XFire最新包,包内有axis和XFire依赖的其他jar包。 1.1.1 新建工程 1.1.2 axis依赖文件 ...
在早期的Web服务开发中,开发者通常会使用CXF、Axis2、XFire等工具来构建基于Java的应用程序。这些工具之所以被广泛采用,主要是因为它们能够提供广泛的兼容性和灵活性,并且适应多种不同的Java版本环境。然而,在...