0 0

CXF+spring+hibernate客户端调用总出错30

我用cxf做的webserver已经发布成功并能看到以下wsdl
  <?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions name="cxfWebServerImplService" targetNamespace="http://spingDao.com/" xmlns:ns1="http://spingdao.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://spingDao.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:import location="http://localhost:8899/hib3/cxfWebServer?wsdl=cxfWebServer.wsdl" namespace="http://spingdao.com/" /> 
- <wsdl:message name="getJobseekeruser">
  <wsdl:part element="ns1:getJobseekeruser" name="parameters" /> 
  </wsdl:message>
- <wsdl:message name="insertDataResponse">
  <wsdl:part element="ns1:insertDataResponse" name="parameters" /> 
  </wsdl:message>
- <wsdl:message name="getJobseekeruserResponse">
  <wsdl:part element="ns1:getJobseekeruserResponse" name="parameters" /> 
  </wsdl:message>
- <wsdl:message name="insertData">
  <wsdl:part element="ns1:insertData" name="parameters" /> 
  </wsdl:message>
- <wsdl:binding name="cxfWebServerImplServiceSoapBinding" type="ns1:cxfWebServer">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> 
- <wsdl:operation name="getJobseekeruser">
  <soap:operation soapAction="" style="document" /> 
- <wsdl:input name="getJobseekeruser">
  <soap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="getJobseekeruserResponse">
  <soap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
- <wsdl:operation name="insertData">
  <soap:operation soapAction="" style="document" /> 
- <wsdl:input name="insertData">
  <soap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="insertDataResponse">
  <soap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="cxfWebServerImplService">
- <wsdl:port binding="tns:cxfWebServerImplServiceSoapBinding" name="cxfWebServerPort">
  <soap:address location="http://localhost:8899/hib3/cxfWebServer" /> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>



但是当我在客户端写以下调用时总出错:
客户端代码:
  	public static void main(String[] args) {
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
				new String[] { "classpath:/com/webserver/clinet/client-beans.xml"});
		cxfWebServer client = (cxfWebServer) context.getBean("client");
		Jobseekeruser user=new Jobseekeruser();
		 user.setCheckstatus((long)1);
     user.setJobseekerid((long)1092);
     java.util.Date d=new java.util.Date(); 
     user.setCreatedate(d);
     user.setEmail("21@job88.com");
     user.setEmailstatus((long)1);
     user.setJobseekercode("JP00332d3");
     user.setJobseekerlogin("trais");
     user.setLastlogindate(d);
     user.setUpdatedate(d);
     user.setCheckstatus((long)1);
     user.setPassword("123w");
     
		boolean response = client.insertData(user);
		 System.out.println("Response: " + response);
		System.exit(0);
	}


错误:
  1.   
  2. Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
  3. at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:199)
  4. at $Proxy42.insertData(Unknown Source)
  5. at com.webserver.clinet.jobseekerclient.main(jobseekerclient.java:44)
  6. Caused by: org.apache.cxf.binding.soap.SoapFault: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
  7. at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:70)
  8. at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:1)
  9. at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
  10. at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
  11. at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:65)
  12. at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:1)
  13. at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
  14. at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:449)
  15. at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1996)
  16. at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1832)
  17. at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
  18. at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:591)
  19. at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
  20. at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
  21. at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
  22. at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
  23. at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
  24. at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
  25. ... 2 more




其他的服务端代码:
    @WebService(name="cxfWebServer", targetNamespace="http://spingdao.com/")
public interface cxfWebServer {

	public boolean insertData(Jobseekeruser user);
	public Jobseekeruser  getJobseekeruser(long id);
	
}




@WebService(endpointInterface="com.spingDao.cxfWebServer",name="cxfWebServer")
public class cxfWebServerImpl implements cxfWebServer {

	public Jobseekeruser getJobseekeruser(long id) {

		//ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");
		JobseekeruserDAO jdo =new  JobseekeruserDAO();
		// TODO Auto-generated method stub
		return (Jobseekeruser) jdo.findAll().get(0);

	}

	public boolean insertData(Jobseekeruser user) {
		
		SaveJobseeker sav=new SaveJobseeker();
		sav.insertJobseekerUser(user);
		return true;
	}

}





*/
@XmlAccessorType()
@XmlType(name = "User")
public class Jobseekeruser implements java.io.Serializable {

	// Fields

	private Long jobseekerid;
	private String jobseekerlogin;
	private String jobseekercode;
	private String email;
	private String password;
	private Date createdate;
	private Date updatedate;
	private Date lastlogindate;
	private Long checkstatus;
	private Long emailstatus;

	// Constructors

	/** default constructor */
	public Jobseekeruser() {
	}

	/** minimal constructor */
	public Jobseekeruser(Long jobseekerid, String jobseekerlogin, String email) {
		this.jobseekerid = jobseekerid;
		this.jobseekerlogin = jobseekerlogin;
		this.email = email;
	}

	/** full constructor */
	public Jobseekeruser(Long jobseekerid, String jobseekerlogin,
			String jobseekercode, String email, String password,
			Date createdate, Date updatedate, Date lastlogindate,
			Long checkstatus, Long emailstatus) {
		this.jobseekerid = jobseekerid;
		this.jobseekerlogin = jobseekerlogin;
		this.jobseekercode = jobseekercode;
		this.email = email;
		this.password = password;
		this.createdate = createdate;
		this.updatedate = updatedate;
		this.lastlogindate = lastlogindate;
		this.checkstatus = checkstatus;
		this.emailstatus = emailstatus;
	}

	// Property accessors

	public Long getJobseekerid() {
		return this.jobseekerid;
	}

	public void setJobseekerid(Long jobseekerid) {
		this.jobseekerid = jobseekerid;
	}

	public String getJobseekerlogin() {
		return this.jobseekerlogin;
	}

	public void setJobseekerlogin(String jobseekerlogin) {
		this.jobseekerlogin = jobseekerlogin;
	}

	public String getJobseekercode() {
		return this.jobseekercode;
	}

	public void setJobseekercode(String jobseekercode) {
		this.jobseekercode = jobseekercode;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Date getCreatedate() {
		return this.createdate;
	}

	public void setCreatedate(Date createdate) {
		this.createdate = createdate;
	}

	public Date getUpdatedate() {
		return this.updatedate;
	}

	public void setUpdatedate(Date updatedate) {
		this.updatedate = updatedate;
	}

	public Date getLastlogindate() {
		return this.lastlogindate;
	}

	public void setLastlogindate(Date lastlogindate) {
		this.lastlogindate = lastlogindate;
	}

	public Long getCheckstatus() {
		return this.checkstatus;
	}

	public void setCheckstatus(Long checkstatus) {
		this.checkstatus = checkstatus;
	}

	public Long getEmailstatus() {
		return this.emailstatus;
	}

	public void setEmailstatus(Long emailstatus) {
		this.emailstatus = emailstatus;
	}

}




与数据库操作的代码:
public class SaveJobseeker {
	public boolean insertJobseekerUser(Jobseekeruser user) {
		ClassPathXmlApplicationContext ap = new ClassPathXmlApplicationContext(
				"/applicationContext.xml");
		JobseekeruserDAO jdo = (JobseekeruserDAO) ap.getBean("personDao");
		//System.out.println("insert Start!");
		try {
			jdo.save(user);
		} catch (Exception ex) {
			//System.out.println(ex.getLocalizedMessage());
			return false;
		}
		//System.out.println("insert end!");
		return true;
	}
}



其他的是spring与hibernate生成的JobseekeruserDAO.java(略)



而在.net端调用时出现的错错误以下:

  •    Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
SOA 
2008年7月30日 22:36

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

0 0

采纳的答案

引用
java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer


是否少了jar包

2008年7月31日 10:39
0 0

Could not initialize class net.sf.cglib.proxy.Enhancer
net.sf.cglib.proxy.Enhancer该类无法初始化

net.sf.cglib.proxy.Enhancer和MethodInterceptor在CGLib包中负责完成代理对象创建和方法截获处理
我想 你应该是这个包未导入造成的
可以去http://sourceforge.net/project/showfiles.php?group_id=56933下来看看

2008年7月31日 10:54

相关推荐

    cxf+spring+hibernate整合添加功能实现修改版

    总的来说,"cxf+spring+hibernate整合添加功能实现修改版"是一个提升系统稳定性和性能的实践案例,开发者通过深入理解和灵活运用这三个技术,实现了服务功能的优化。对于学习和研究Java企业级应用开发的人员来说,这...

    CXF+Spring+Hibernate实现WebService

    总结来说,这个项目展示了如何利用CXF、Spring和Hibernate这三大框架实现一个完整的Web服务,涵盖了从数据层到服务层再到客户端调用的全过程。对于学习者来说,这是一个很好的实践案例,有助于深入理解这些框架的...

    cxf+spring使用经验

    在结合 Spring 框架使用时,CXF 可以方便地与 Spring 集成,实现服务的发布和调用。Spring 可以管理 CXF 组件的生命周期,提供事务、安全等服务,并通过配置简化服务的实现。 **一、搭建开发环境** 1. **选择依赖...

    CXF接口Spring+Hibernate的添加完整版

    在IT行业中,CXF、Spring和Hibernate是三个非常重要的开源框架,它们分别在Web服务、依赖管理和持久化层发挥着关键作用。这个压缩包文件"CXF接口Spring+Hibernate的添加完整版"提供了将这三个技术整合在一起的一个...

    Struts2+Spring3+Hibernate4+Maven+EasyUI+CXF 整合

    Struts2+Spring3+Hibernate4+Maven+EasyUI+CXF 是一个经典的Java Web开发框架集成,常用于构建高效、稳定的企业级应用。这个整合涵盖了前端展示、后端控制、持久化、依赖注入、项目管理和Web服务等多个层面,为...

    cxf+hibernate3.0+spring3.0 完整整合代码实现

    【标题】:“cxf+hibernate3.0+spring3.0 完整整合代码实现” 【描述】:“此项目实现了将CXF、Hibernate3.0和Spring3.0这三个开源框架集成到一起,提供了在WebLogic和Tomcat两种应用服务器上的无缝兼容。” ...

    Xfire配置Web Service+Spring+Hibernate详细配置流程

    同时,配置WSDL文件生成和发布,以便客户端能够发现和调用服务。 6. **测试与调试**: 使用JUnit进行单元测试,验证服务功能的正确性。对于Web服务,可以使用 SoapUI 这样的工具进行功能测试和性能测试。 7. **...

    cxf-spring 服务端and客户端

    【标题】"cxf-spring 服务端and客户端"揭示了这个项目是关于Apache CXF框架与Spring框架的集成,用于构建服务端和客户端应用程序。Apache CXF是一个开源的Java框架,它允许开发者创建和消费Web服务,而Spring框架则...

    基于CXF+servlet整合spring接口系统

    【标题】"基于CXF+servlet整合spring接口系统"揭示了这个项目的核心是构建一个集成了Spring、CXF和Servlet的Web服务接口系统。这里主要涉及的技术栈包括Spring框架、CXF作为服务消费和发布的工具,以及Servlet 3.0...

    CXF集成spring hibernate

    CXF允许开发者轻松地创建和部署服务,同时也提供了丰富的客户端API来调用这些服务。在CXF中,我们可以定义服务接口和服务实现,然后通过CXF的工具将其暴露为Web服务。 **Spring** 是一个全面的Java企业级应用开发...

    java cxf +sping

    “客户端测试”是指使用 CXF 客户端 API 或生成的客户端代码来调用服务端发布的服务,进行功能验证。这通常涉及: 1. 通过 WSDL 文件生成客户端代理类。 2. 在测试代码中实例化客户端并调用服务方法。 3. 检查响应...

    springmvc_cxf_hibernate.zip

    总的来说,"springmvc_cxf_hibernate.zip"是一个展示Spring MVC、CXF和Hibernate集成的实践案例,对于想要提升企业级Web应用开发技能的学习者来说,这是一个宝贵的学习资源。通过深入研究这个项目,开发者不仅可以...

    CXF spring Hibernate 搭建webservice

    【标题】"CXF Spring Hibernate 搭建Web服务" 在IT行业中,Web服务是一种用于应用程序之间通信的技术,它允许不同系统之间的数据交换。本项目是关于如何利用Apache CXF、Spring框架和Hibernate ORM工具来构建一个...

    spring3+hibernate3整合CXF所需的jar包

    在开发Java Web应用程序时,整合Spring 3.0.6、Hibernate 3和Apache CXF是常见的技术栈,用于构建高效、可维护的服务导向架构。这些框架分别在依赖注入、对象关系映射以及Web服务提供方面发挥着重要作用。以下是关于...

    xfire+spring+hibernate的一种整合方式

    7. **注意事项**:尽管这种整合方式在当时是流行的,但随着技术的发展,现在更常见的是使用Spring Boot和Spring MVC来替代Spring的XML配置,使用JAX-WS或JAX-RS(如Jersey、CXF)来提供Web服务,而Hibernate则可能被...

    Spring+Hibernate+Xfire实现远程分布式调用

    本主题将深入探讨如何使用Spring、Hibernate和Xfire来实现远程分布式调用。这些技术都是Java开发中的重要工具,Spring作为全面的框架提供了服务管理和依赖注入,Hibernate则是流行的ORM(对象关系映射)解决方案,而...

    spring集成cxf,server发布webservice,client调用webservice

    使用spring集成cxf,在两个web project里发布及调用webservice server端使用spring+springmvc+mybatis+cxf,client端使用struts2+spring+hibernate+cxf 两个工程均为myeclipse project,包含所有除myeclipse自带以外...

    WebService CXF Spring Hibernate

    9. **客户端调用**:使用CXF的`JaxWsProxyFactoryBean`生成客户端代理,进行远程调用。 10. **测试**:编写JUnit测试用例,验证各层功能的正确性。 ### 示例应用 这个Demo项目可能包含一个简单的用户管理系统,允许...

    CXF整合spring同时支持JSON和XML配置的HelloWorld

    总的来说,整合CXF和Spring使我们能够灵活地创建支持多种数据格式的Web服务。同时,Spring的强大管理能力帮助我们更好地组织和控制应用程序的各个部分。这个“CXF整合spring同时支持JSON和XML配置的HelloWorld”示例...

    CXF 一个完整的webService(整合客户端和服务端)

    CXF可与其他Java EE技术如Spring、Hibernate等无缝集成,提供更强大的功能。例如,通过Spring容器管理CXF服务,可以实现依赖注入和事务管理。 总结,CXF作为一个强大的Web服务框架,提供了从服务端到客户端的全方位...

Global site tag (gtag.js) - Google Analytics