0 0

使用Asix2创建WebService在创建项目的Eclipse下可以调用,使用其他工具如SoapUI调用就提示错误15

控制台爆的错误

[ERROR] org/apache/ibatis/io/Resources
java.lang.NoClassDefFoundError: org/apache/ibatis/io/Resources
	at com.dm.dao.LoginDao.<clinit>(LoginDao.java:21)
	at com.dm.service.LoginService.<init>(LoginService.java:13)
	at com.dm.test.Mytest.<init>(Mytest.java:12)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.apache.axis2.util.Utils$8.run(Utils.java:768)
	at org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:132)
	at org.apache.axis2.util.Utils.createServiceObject(Utils.java:765)
	at org.apache.axis2.receivers.AbstractMessageReceiver.makeNewServiceObject(AbstractMessageReceiver.java:219)
	at org.apache.axis2.receivers.AbstractMessageReceiver.getTheImplementationObject(AbstractMessageReceiver.java:256)
	at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:78)
	at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
	at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
	at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.io.Resources
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	... 33 more

 出错代码

public class LoginDao {
	
	private static SqlSessionFactory factory = null;
	private static Reader reader;
	static {
		try {
			reader = Resources.getResourceAsReader("mybatis.xml");
			factory = new SqlSessionFactoryBuilder().build(reader);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public Employee login(Employee e){
		
			Employee emp = null;
			
			SqlSession session = factory.openSession();
			
			emp = session.selectOne(Employee.class.getName()+".login", e);
			
		
		return emp;
	}
	
	public List<Position> getPosByCid(Employee emp){
			List<Position> poss = null;
			
			SqlSession session = factory.openSession();
			
			poss = session.selectList(Employee.class.getName()+".posLoad", emp);

		
		return poss;
	}
}

 

SoapUI调用的方法

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:test="http://test.dm.com" xmlns:xsd="http://entity.dm.com/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <test:test>
         <!--Optional:-->
         <test:e>
            <!--Optional:-->
            <xsd:dep>
               <!--Optional:-->
               <xsd:com>
                  <!--Optional:-->
                  <xsd:cId>1</xsd:cId>
                  <!--Optional:-->
                  <xsd:cName></xsd:cName>
               </xsd:com>
               <!--Optional:-->
               <xsd:dId>1</xsd:dId>
               <!--Optional:-->
               <xsd:dName></xsd:dName>
            </xsd:dep>
            <!--Optional:-->
            <xsd:eId>1</xsd:eId>
            <!--Optional:-->
            <xsd:name></xsd:name>
            <!--Optional:-->
            <xsd:passWord>123456</xsd:passWord>
            <!--Optional:-->
            <xsd:userName>admin</xsd:userName>
         </test:e>
      </test:test>
   </soapenv:Body>
</soapenv:Envelope>

 对外提供的接口

package com.dm.test;

import java.util.List;

import org.junit.Test;

import com.dm.entity.Employee;
import com.dm.entity.Position;
import com.dm.service.LoginService;

public class Mytest {
	LoginService service = new LoginService();
	
	public String test(Employee e){
		
		Employee emp = service.login(e);
		
		List<Position> poss = null;
		
		if (emp!=null) {
			poss = service.getPosByCid(emp);
		}else {
			return "登陆失败";
		}
		
		StringBuffer str = new StringBuffer();
		
		for (Position position : poss) {
			
			str.append(position.getpName()+",");
		}
		
		str.delete(str.length()-1, str.length());
		
		System.out.println(emp.getDep().getdName()+","+emp.getDep().getCom().getcName());
		
		System.out.println(str);
		
		return "姓名:"+emp.getName()+"\n公司:"+emp.getDep().getCom().getcName()+"\n部门:"+emp.getDep().getdName()+"\n职位:"+str;
	}
	
	
	@Test
	public void test1(){
		Employee e = new Employee();
		e.setUserName("admin");
		e.setPassWord("123456");
		System.out.println(test(e));
	}
}

 

 


问题补充:ORM框架用的是Mybatis
2014年4月06日 14:04

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

0 0

用轻量级的吧,jdk自带有,

2014年4月07日 23:17

相关推荐

    Java使用asix调用webService源码+jar包

    这个压缩包中的"调用web service代码"应该包含了完整的示例代码,你可以参考这些代码学习如何在Java项目中集成和使用Apache Axis来调用Web Service。通过深入理解和实践,你将能熟练掌握Java通过Web Service与其他...

    axis2发布webservice和调用axis2服务接口

    这可以通过 Axis2的命令行工具或集成开发环境(IDE)如Eclipse中的插件完成。打包过程中,需要包含服务类、服务描述文件(如`services.xml`)和其他必要的依赖。 3. **部署服务**:将生成的`.aar`包放入Axis2服务器...

    asix2 webservice简单实例

    在实际项目中,ASIX2 Webservice还可以与其他技术结合,如Spring框架进行依赖注入,MyBatis用于数据库操作,以及Docker容器化部署,以提高开发效率和运行时的可靠性。 总之,ASIX2 Webservice提供了强大而灵活的Web...

    java asix调用webservice源码+jar包

    在实际开发中,除了Axis之外,还有其他一些工具和框架如JAX-WS(Java API for XML Web Services)和Spring-WS等,也可以用来调用Web服务。然而,对于初学者或小规模项目,Axis因其简单易用而成为一个不错的选择。 ...

    Asix2 调用SAP PI Webservice

    使用axis2-eclipse-codegen-wizard-1.4生成代理方法调用SAP PI发布的Webservice,因为codegen-wizard不能识别Policy节点,所以需要手工将Policy节点删掉,此实例为异步场景 文档 + 代码 + Jar

    asix1开发webservice

    2. **生成WSDL**: 使用Axis提供的工具,如`wsdl2java`,可以自动生成WSDL文件,该文件描述了Web服务的接口和操作。WSDL文件是Web服务的合同,它定义了服务的端点、消息格式和操作。 3. **部署Web服务**: 将生成的...

    WebServiceDemo-Axis2

    WebServiceDemo-Axis2是一个关于如何使用Apache Axis2框架来发布Web服务的示例项目。Apache Axis2是Java世界中广泛使用的Web服务引擎,它提供了一种高效、灵活且可扩展的方式来实现SOAP(简单对象访问协议)服务。在...

    eclipse axis2环境搭建

    在IT行业中,开发Web服务是常见的任务之一,而Apache Axis2是Java平台上广泛使用的Web服务框架,它提供了高性能、灵活的架构。Eclipse作为流行的Java IDE,为开发者提供了丰富的插件支持,包括对Axis2的集成。下面...

    mas短信webservice接口

    在没有更多详细信息的情况下,ASIX可能是一个专有的通讯组件或者标准,用于增强webservice与mas短信机之间的交互。 **代码和JAR包** 是开发过程中必不可少的部分。JAR(Java Archive)文件是Java平台特有的归档格式...

    asix2,xFire,cxf优缺点

    尽管如此,ASIX2在当时因其对Web服务新标准的支持,如JSR181、WSDL2.0和JAXB2,以及使用Stax解析XML带来的性能提升而受到欢迎。Stax允许更高效地处理XML流,这显著提高了处理大量XML数据时的性能。此外,ASIX2与...

    asix的相关jar包

    5. **异步编程**:为了优化性能,ASIX的库可能实现了异步I/O模型,使得设备操作可以在后台执行,不阻塞主线程,提高应用程序的响应速度。 6. **数据编码与解码**:在通信过程中,数据通常需要进行编码和解码,以...

    asix的maven

    在IT行业中,Maven是一个广泛使用的项目管理和综合工具,它主要负责构建、依赖管理和项目信息管理。本资源包“asix的maven”是针对ASIX(可能是一个特定的库或框架)在Maven环境中的集成,包含了所有必要的组件,...

    asix.rar_asix

    ASIX AX8817X是一款基于USB 2.0技术的以太网设备控制器,主要用在USB接口的有线网络适配器上。这款芯片由ASIX电子公司设计,为用户提供了一种简单便捷的方式来连接计算机系统到局域网(LAN)或互联网,无需内置的...

    ASIX.rar_asix

    2. **动态内存分配**:在程序运行过程中根据需要分配和释放内存,如使用`malloc()`和`free()`函数。动态内存管理复杂度高,需要防止内存泄漏和内存碎片。 3. **堆内存管理**:动态内存分配通常在堆上进行,堆内存...

    hi3516a使用asix 88772 usb net的资源

    在本文中,我们将深入探讨如何在基于Hi3516A的嵌入式系统上集成并使用ASIX 88772 USB网络接口。Hi3516A是一款高性能、低功耗的智能视频处理器,广泛应用于视频监控、网络摄像机等场景。而ASIX 88772则是一款流行的...

    webservice

    入门,使用asix2开发的webservice实例,部署后直接输入:http://localhost:8080/webServe/services/HelloWorld?wsdl,端口号根据自己的定,文章地址如下,可以去参考下:...

    WebService例子

    【WebService例子】是一个示例项目,它展示了如何创建和使用Web服务。Web服务是一种通过互联网交换数据的方式,允许不同系统间的交互。在这个例子中,我们将深入理解Web服务的基础,包括WS-I(Web Services ...

    Axis2.jar包

    在描述中提到的“之前公司用了webservice搞了好就 写了好几种”,这可能意味着使用Axis2来实现不同类型的Web服务接口,或者在不同的项目中进行了多次的Web服务开发。 **标签:** 1. **Java** - Axis2是基于Java...

Global site tag (gtag.js) - Google Analytics