0 0

cxf spring集合中开发Web Service遇见的java.util.Date无缺省函数问题5

cxf spring集合中开发Web Service遇见的java.util.Date无缺省函数问题 

在domain中有User类

public class User {

 

         private String userName;

private String userPassword;

private String mobile;

private String email;

private String nickname;

private String region;

private java.sql.Date birthday ;

private String telephone;

private String address;

private String postcode;

private String signature;

private String imageUrl;

private int userID;

} 其中birthday类型为java.sql.Date,没有开发web service时,使用spring 和hibernate都OK 加入cxf后报错了 

 

 

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'UserWebService1111': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)

at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)

at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)

at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:662)

Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException

at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:350)

at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)

at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:509)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)

... 20 more

Caused by: org.apache.cxf.service.factory.ServiceConstructionException

at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:292)

at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)

at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:444)

at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:682)

at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:507)

at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:241)

at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:202)

at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)

at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:157)

at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:202)

at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:433)

at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:322)

... 29 more

Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions

java.sql.Date does not have a no-arg default constructor.

this problem is related to the following location:

at java.sql.Date

at public java.sql.Date com.tianxiao.whut.domain.User.getBirthday()

at com.tianxiao.whut.domain.User

at private java.util.List com.tianxiao.whut.webservice.jaxws_asm.QueryByNicknameResponse._return

at com.tianxiao.whut.webservice.jaxws_asm.QueryByNicknameResponse

 

at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:106)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:466)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:298)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:141)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1157)

at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:202)

at javax.xml.bind.ContextFinder.find(ContextFinder.java:363)

at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)

at org.apache.cxf.jaxb.JAXBContextCache.createContext(JAXBContextCache.java:260)

at org.apache.cxf.jaxb.JAXBContextCache.getCachedContextAndSchemas(JAXBContextCache.java:169)

at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContextAndSchemas(JAXBDataBinding.java:418)

at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:290)

... 40 more

 

请问这个该如何解决?

 

2011年11月24日 23:03

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

0 0

采纳的答案

引用
java.sql.Date does not have a no-arg default constructor.

也就是说java.sql.Date这个类是不能这样创建实例的
java.sql.Date date = new java.sql.Date();


要用
java.sql.Date date = new java.sql.Date(new java.util.Date().getTime() );

2011年11月25日 08:33
0 0

好像只能用java.util.Date sql 不能序列

2011年11月25日 08:58
0 0

其实是可以支持java.sql.Date的,这和java.util.Date区别并不大,能使用java对象,所有的java对象都应该可以使用。
你的问题应该出在你调用 QueryByNickname接口返回List时,其中构造对象时使用了无参数的java.sql.Date类型,你检查一下代码。

2011年11月25日 01:47
0 0

Web Service 在进行接口封装过程中,遇到调用实体类的情况,接口会自动去识别实体类数据的基本类型。例如 int、String等。在此,我们需要注意的是,有些数据类型是不能被web service 所识别的。其中常见的日期类型,如果我们的基本类型采用java.sql.Date的话是会报错的(报错信息类似于如下所示)。             
而应当用java.util.Date类。

2011年11月24日 23:40

相关推荐

    CXF Spring Web Service 程序

    【CXF与Spring整合Web服务详解】 在Java世界中,Apache CXF是一个广泛使用的开源框架,用于构建和部署Web服务。它提供了丰富的功能,包括SOAP、RESTful API的支持,以及与Spring框架的深度集成。本篇文章将深入探讨...

    spring+cxf 开发webservice

    【描述】"本Java工程实现了Spring+CXF快速开发Web Service,jar包齐全,可以直接在MyEclipse环境中进行二次开发。" 这个描述指出,提供的是一个完整的项目实例,包含了所有必要的库文件(jar包),意味着开发者无需...

    PacktPub.Apache.CXF.Web.Service.Development.Dec.2009.rar

    这个压缩包文件"PacktPub.Apache.CXF.Web.Service.Development.Dec.2009.rar"包含了关于使用Apache CXF进行Web服务开发的详细教程,可能出自Packt Publishing在2009年12月出版的一本书。该资源很可能提供了深入的...

    CXF Web Service & client

    - **WSDL(Web Service Definition Language)**:在CXF中,你可以基于WSDL文件生成服务端代码,也可以先编写Java接口和服务实现,然后由CXF自动生成WSDL。WSDL定义了服务的接口、消息格式和绑定方式。 - **JAX-WS...

    Apache CXF开发Web Service 开发Web Service之Kick Start

    "Apache CXF开发Web Service - 开发Web Service之Kick Start"的主题意味着我们将深入探讨如何快速入门使用CXF进行Web服务开发。 首先,我们来看一下CXF的主要功能。CXF支持多种Web服务规范,如SOAP、RESTful(基于...

    cxf+spring开发webservice客户端与服务端实例

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring框架的结合则为开发高质量的Web服务提供了强大的支持。本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介...

    cxf spring maven 实例

    CXF是一个开源框架,主要用于构建和部署SOAP和RESTful Web服务,Spring则是一个广泛应用的Java企业级开发框架,而Maven是项目管理和集成工具,负责构建、依赖管理和项目信息管理。本实例将展示如何利用这三者来搭建...

    简单的webservice+Cxf+Spring数据对接实例以及jar.rar

    简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar...

    CXF Spring搭建WebServer服务器

    结合CXF,Spring可以无缝地整合Web服务到整个应用程序中。 **三、iBatis** iBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,使得开发者能够灵活地编写SQL,同时避免了传统的JDBC代码的繁琐。在本项目...

    web service cxf spring集成

    标题"Web Service CXF Spring集成"表明我们将探讨如何在Spring环境中利用Apache CXF来创建和整合Web服务。首先,你需要在项目中引入CXF和Spring的相关依赖。通常,这可以通过在Maven或Gradle的配置文件中添加相应的...

    cxf-2.7.3与spring3整合开发步骤.

    &lt;bean id="cxf" class="org.apache.cxf.bus.spring.SpringBus"/&gt; &lt;!-- 导入服务配置 --&gt; &lt;import resource="classpath:META-INF/cxf/cxf.xml"/&gt; &lt;import resource="classpath:META-INF/cxf/cxf-extension-soap...

    web service cxf 2.7.5 与spring 3.0 集成

    在本篇中,我们将深入探讨如何将Apache CXF 2.7.5版本与Spring 3.0框架集成,以便在Java应用程序中创建和消费Web服务。 **一、CXF简介** Apache CXF是一个全面的Web服务框架,它支持多种协议,如SOAP、RESTful HTTP...

    CXF开发Web Service实例demo

    在"Web Service学习-CXF开发Web Service实例demo(一)"中,我们将专注于SOAP Web Service的实现。以下是一些关键步骤: 1. **创建服务接口**:首先,你需要定义一个Java接口,这个接口会成为你的Web Service接口。...

    Webservice入门教程_用CXF编写基于Spring的WebService示例代码.zip

    通过这个入门教程,你将能够掌握使用Apache CXF和Spring创建和消费Web服务的基本技能,为你的Java Web应用开发打下坚实的基础。同时,随着对这些技术的深入理解和实践,你还可以进一步探索更高级的主题,如RESTful...

    org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar

    org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar

    SpringBoot+mybatis+CXF开发web service接口.rar

    在本项目中,我们主要探讨如何使用SpringBoot、MyBatis和CXF框架来开发Web Service接口,并且数据库选用MySQL。这是一个完整的后端服务开发流程,涵盖了从数据存储到服务暴露的所有关键步骤。 首先,SpringBoot是...

    cxf整合spring

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring都是Java生态系统中的关键组件。本文将深入探讨如何将CXF与Spring框架整合,以构建高效且灵活的Web服务解决方案。 首先,让我们了解CXF。...

    Spring CXF Mybatis 发布 Web Service 实例

    本实例将深入探讨如何使用Spring、CXF和Mybatis这三大框架发布Web服务。Spring作为一个强大的应用框架,可以很好地整合其他组件,如CXF(用于创建Web服务)和Mybatis(持久层框架)。以下是对这些技术结合使用的详细...

    Spring MVC、CXF、Web Service

    Spring MVC、CXF和Web Service是企业级Java应用开发中的三个关键组件,它们分别在不同的层面上服务于构建高效、可扩展的Web应用程序。 Spring MVC,全称Spring Model View Controller,是Spring框架的一部分,专为...

Global site tag (gtag.js) - Google Analytics