-
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个答案 按时间排序 按投票排序
-
采纳的答案
引用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
-
其实是可以支持java.sql.Date的,这和java.util.Date区别并不大,能使用java对象,所有的java对象都应该可以使用。
你的问题应该出在你调用 QueryByNickname接口返回List时,其中构造对象时使用了无参数的java.sql.Date类型,你检查一下代码。2011年11月25日 01:47
-
Web Service 在进行接口封装过程中,遇到调用实体类的情况,接口会自动去识别实体类数据的基本类型。例如 int、String等。在此,我们需要注意的是,有些数据类型是不能被web service 所识别的。其中常见的日期类型,如果我们的基本类型采用java.sql.Date的话是会报错的(报错信息类似于如下所示)。
而应当用java.util.Date类。
2011年11月24日 23:40
相关推荐
【CXF与Spring整合Web服务详解】 在Java世界中,Apache CXF是一个广泛使用的开源框架,用于构建和部署Web服务。它提供了丰富的功能,包括SOAP、RESTful API的支持,以及与Spring框架的深度集成。本篇文章将深入探讨...
【描述】"本Java工程实现了Spring+CXF快速开发Web Service,jar包齐全,可以直接在MyEclipse环境中进行二次开发。" 这个描述指出,提供的是一个完整的项目实例,包含了所有必要的库文件(jar包),意味着开发者无需...
这个压缩包文件"PacktPub.Apache.CXF.Web.Service.Development.Dec.2009.rar"包含了关于使用Apache CXF进行Web服务开发的详细教程,可能出自Packt Publishing在2009年12月出版的一本书。该资源很可能提供了深入的...
- **WSDL(Web Service Definition Language)**:在CXF中,你可以基于WSDL文件生成服务端代码,也可以先编写Java接口和服务实现,然后由CXF自动生成WSDL。WSDL定义了服务的接口、消息格式和绑定方式。 - **JAX-WS...
"Apache CXF开发Web Service - 开发Web Service之Kick Start"的主题意味着我们将深入探讨如何快速入门使用CXF进行Web服务开发。 首先,我们来看一下CXF的主要功能。CXF支持多种Web服务规范,如SOAP、RESTful(基于...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring框架的结合则为开发高质量的Web服务提供了强大的支持。本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介...
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...
结合CXF,Spring可以无缝地整合Web服务到整个应用程序中。 **三、iBatis** iBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,使得开发者能够灵活地编写SQL,同时避免了传统的JDBC代码的繁琐。在本项目...
标题"Web Service CXF Spring集成"表明我们将探讨如何在Spring环境中利用Apache CXF来创建和整合Web服务。首先,你需要在项目中引入CXF和Spring的相关依赖。通常,这可以通过在Maven或Gradle的配置文件中添加相应的...
<bean id="cxf" class="org.apache.cxf.bus.spring.SpringBus"/> <!-- 导入服务配置 --> <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-soap...
在本篇中,我们将深入探讨如何将Apache CXF 2.7.5版本与Spring 3.0框架集成,以便在Java应用程序中创建和消费Web服务。 **一、CXF简介** Apache CXF是一个全面的Web服务框架,它支持多种协议,如SOAP、RESTful HTTP...
在"Web Service学习-CXF开发Web Service实例demo(一)"中,我们将专注于SOAP Web Service的实现。以下是一些关键步骤: 1. **创建服务接口**:首先,你需要定义一个Java接口,这个接口会成为你的Web Service接口。...
通过这个入门教程,你将能够掌握使用Apache CXF和Spring创建和消费Web服务的基本技能,为你的Java Web应用开发打下坚实的基础。同时,随着对这些技术的深入理解和实践,你还可以进一步探索更高级的主题,如RESTful...
org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar
在本项目中,我们主要探讨如何使用SpringBoot、MyBatis和CXF框架来开发Web Service接口,并且数据库选用MySQL。这是一个完整的后端服务开发流程,涵盖了从数据存储到服务暴露的所有关键步骤。 首先,SpringBoot是...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring都是Java生态系统中的关键组件。本文将深入探讨如何将CXF与Spring框架整合,以构建高效且灵活的Web服务解决方案。 首先,让我们了解CXF。...
本实例将深入探讨如何使用Spring、CXF和Mybatis这三大框架发布Web服务。Spring作为一个强大的应用框架,可以很好地整合其他组件,如CXF(用于创建Web服务)和Mybatis(持久层框架)。以下是对这些技术结合使用的详细...
Spring MVC、CXF和Web Service是企业级Java应用开发中的三个关键组件,它们分别在不同的层面上服务于构建高效、可扩展的Web应用程序。 Spring MVC,全称Spring Model View Controller,是Spring框架的一部分,专为...