程序在本机运行没有问题,迁移到aix系统上面,查询数据库的时候就会报下面这个问题,我这是在osgi平台上面运行的程序,程序错误如下org.springframework.integration.message.MessageHandlingException: method 'public org.springframework.integration.core.Message com.becp.customized.endpoint.webserviceEndPointClient.handler(org.springframework.integration.core.Message)' threw an Exception.
at org.springframework.integration.handler.MessageMappingMethodInvoker.invokeMethod(MessageMappingMethodInvoker.java:113)
at org.springframework.integration.handler.ServiceActivatingHandler.handleRequestMessage(ServiceActivatingHandler.java:49)
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:91)
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:59)
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:103)
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:90)
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:43)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:116)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:94)
at org.springframework.integration.channel.MessageChannelTemplate.doSend(MessageChannelTemplate.java:223)
at org.springframework.integration.channel.MessageChannelTemplate.send(MessageChannelTemplate.java:180)
at org.springframework.integration.router.AbstractMessageRouter.handleMessageInternal(AbstractMessageRouter.java:76)
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:59)
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:103)
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:90)
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:43)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:116)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:94)
at org.springframework.integration.channel.MessageChannelTemplate.doSend(MessageChannelTemplate.java:223)
at org.springframework.integration.channel.MessageChannelTemplate.doSendAndReceive(MessageChannelTemplate.java:248)
at org.springframework.integration.channel.MessageChannelTemplate.sendAndReceive(MessageChannelTemplate.java:215)
at org.springframework.integration.gateway.AbstractMessagingGateway.sendAndReceiveMessage(AbstractMessagingGateway.java:176)
at org.springframework.integration.gateway.AbstractMessagingGateway.sendAndReceive(AbstractMessagingGateway.java:159)
at org.springframework.integration.gateway.AbstractMessagingGateway.sendAndReceive(AbstractMessagingGateway.java:150)
at com.jbsoft.jmts.connector.tcp.SyncChannelHandlerImpl$1.run(SyncChannelHandlerImpl.java:69)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:693)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:719)
at java.lang.Thread.run(Thread.java:813)
Caused by: java.lang.NoClassDefFoundError: sun.io.ByteToCharConverter
at com.ibm.db2.jcc.b.s.a(s.java:157)
at com.ibm.db2.jcc.c.d.a(d.java:989)
at com.ibm.db2.jcc.c.jb.a(jb.java:1719)
at com.ibm.db2.jcc.c.jb.a(jb.java:1647)
at com.ibm.db2.jcc.c.jb.n(jb.java:562)
at com.ibm.db2.jcc.c.jb.j(jb.java:247)
at com.ibm.db2.jcc.c.jb.c(jb.java:57)
at com.ibm.db2.jcc.c.w.c(w.java:42)
at com.ibm.db2.jcc.c.cc.h(cc.java:178)
at com.ibm.db2.jcc.b.sf.p(sf.java:1256)
at com.ibm.db2.jcc.b.sf.a(sf.java:1954)
at com.ibm.db2.jcc.b.sf.e(sf.java:809)
at com.ibm.db2.jcc.b.sf.execute(sf.java:793)
at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)
at com.becp.customized.endpoint.webserviceEndPointClient.QueryAddress2(webserviceEndPointClient.java:322)
at com.becp.customized.endpoint.webserviceEndPointClient.handler(webserviceEndPointClient.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:619)
at org.springframework.integration.util.DefaultMethodInvoker.invokeMethod(DefaultMethodInvoker.java:97)
at org.springframework.integration.handler.MessageMappingMethodInvoker.doInvokeMethod(MessageMappingMethodInvoker.java:135)
at org.springframework.integration.handler.MessageMappingMethodInvoker.invokeMethod(MessageMappingMethodInvoker.java:107)
... 30 more
Caused by: java.lang.ClassNotFoundException: sun.io.ByteToCharConverter
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:616)
... 53 more只有查询的时候才报错,更新都不报错,实在是找不出来是什么原因了java db2osgiaixjavadb2aixosgi

解决方案 »

  1.   

    系统jdk的问题吗?少sun.io.ByteToCharConverter,要不装个jdk7试试
      

  2.   

    Caused by: java.lang.ClassNotFoundException: sun.io.ByteToCharConverter
    sun.io.ByteToCharConverter这个类找不到,估计某些jar版本和其他的不兼容。jar文件不要东拼西凑,去官方下载完整的开发库,如果工程引用的多个开发库,一般会有重复的jar,删除版本较低的jar文件。
      

  3.   

    我不太会使用这个论坛,大家见谅,我最初从ibm官网下载的最新版本的jdk6,出现这个问题,我以为可能是jdk的问题,我上午就又从ibm的官网上面下载了一个jdk5,安装之后还是报同样的问题
      

  4.   


    我不太会使用这个论坛,大家见谅,我最初从ibm官网下载的最新版本的jdk6,出现这个问题,我以为可能是jdk的问题,我上午就又从ibm的官网上面下载了一个jdk5,安装之后还是报同样的问题
      

  5.   


    我不太会使用这个论坛,大家见谅,我最初从ibm官网下载的最新版本的jdk6,出现这个问题,我以为可能是jdk的问题,我上午就又从ibm的官网上面下载了一个jdk5,安装之后还是报同样的问题,就算我安上7估计也还是不行,而且我这个系统上面有个tomcat的程序,里面的查询是正常的,可以查出来
      

  6.   

    肯定不是JDK的问题,你工程到底用了什么技术?框架?可能是第三方库存在版本不兼容或是缺少必要的jar文件。你把代码贴出来,或者把工程、业务大概描述一下这样才能帮你确认是什么问题导致的。
      

  7.   


    我的工程是用的osgi平台,至于业务什么就是一个普通的jdbc查询数据库,不知道你对osgi了解不了解
    这下面是引入的bundles和jar包什么的
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: com.becp.jmts.hmgs
    Bundle-SymbolicName: com.becp.jmts.hmgs
    Bundle-Version: 1.0.0
    Require-Bundle: com.springsource.slf4j.api;bundle-version="1.5.6",
     org.springframework.aop;bundle-version="3.0.1",
     org.springframework.integration;bundle-version="1.0.3",
     com.springsource.org.dom4j;bundle-version="1.6.1",
     com.springsource.org.apache.commons.collections;bundle-version="3.2.0",
     org.springframework.core;bundle-version="3.0.1",
     org.springframework.context;bundle-version="3.0.1",
     org.springframework.beans;bundle-version="3.0.1",
     org.springframework.osgi.core;bundle-version="1.2.1",
     org.jboss.netty;bundle-version="3.2.1",
     org.springframework.jms;bundle-version="3.0.1",
     com.springsource.javax.jms;bundle-version="1.1.0",
     org.apache.commons.configuration;bundle-version="1.3.0",
     org.apache.commons.io;bundle-version="1.4.0"
    Bundle-ClassPath: 
     .,
     lib/10gclasses12.jar,
     lib/c3p0-0.9.1.jar,
     lib/commons-codec-1.3.jar,
     lib/commons-codec-1.4.jar,
     lib/commons-collections-3.2.1.jar,
     lib/commons-lang-2.6.jar,
     lib/cxf-2.5.2.jar,
     lib/cxf-manifest.jar,
     lib/db2jcc_license_cu.jar,
     lib/db2jcc.jar,
     lib/edtftpj-1.2.4.jar,
     lib/FastInfoset-1.2.9.jar,
     lib/geronimo-activation_1.1_spec-1.1.jar,
     lib/geronimo-annotation_1.0_spec-1.1.1.jar,
     lib/geronimo-javamail_1.4_spec-1.7.1.jar,
     lib/geronimo-jaxws_2.2_spec-1.1.jar,
     lib/geronimo-stax-api_1.0_spec-1.0.1.jar,
     lib/gson-2.2.4-javadoc.jar,
     lib/gson-2.2.4-sources.jar,
     lib/gson-2.2.4.jar,
     lib/jaxb-api-2.2.3.jar,
     lib/jaxb-impl-2.2.4-1.jar,
     lib/jaxb-xjc-2.2.4-1.jar,
     lib/neethi-3.0.1.jar,
     lib/opensaml-2.5.1-1.jar,
     lib/saaj-api-1.3.4.jar,
     lib/saaj-impl-1.3.12.jar,
     lib/stax2-api-3.1.1.jar,
     lib/woodstox-core-asl-4.1.1.jar,
     lib/wsdl4j-1.6.2.jar,
     lib/wss4j-1.6.4.jar,
     lib/xml-resolver-1.2.jar,
     lib/xmlschema-core-2.0.1.jar,
     lib/xmlsec-1.4.6.jar,
     lib/db2java.jar,
     lib/db2jcc_javax.jar,
     lib/db2jcc_license_cisuz.jar
    DynamicImport-Package: *
    Import-Package: javax.crypto,
     javax.crypto.interfaces,
     javax.crypto.spec,
     javax.management,
     javax.naming,
     javax.xml.parsers,
     org.w3c.dom,
     org.xml.sax
      

  8.   

    删除重复的jar,保留高版本。
     lib/commons-codec-1.3.jar,
     lib/commons-codec-1.4.jar,
     lib/geronimo-activation_1.1_spec-1.1.jar,
     lib/geronimo-annotation_1.0_spec-1.1.1.jar,
    下面这个三个jar文件,请确认最后一个jar文件是不是包含了前两个jar中的内容,如果是删除前两个。
    lib/gson-2.2.4-javadoc.jar,
    lib/gson-2.2.4-sources.jar,
    lib/gson-2.2.4.jar,
      

  9.   

    我已经把lib/commons-codec-1.3.jar
    lib/gson-2.2.4-javadoc.jar,
     lib/gson-2.2.4-sources.jar,
    去掉,问题同样
      

  10.   

    问题终于解决了,在这里对帮助我的朋友说声谢谢,既然解决了就说说解决的办法吧,我在ibm官网偶然发现,在osgi平台上面操作db2的的驱动用db2jcc4.jar,db2jcc_license_cisuz.jar,(我原来用的是db2jcc.jar,db2jcc_license_cu.jar),把jar包更换之后,在aix上面启动平台依然会报找不到sun.io.ByteToCharConverter,但是程序倒是可以正常运行,数据库操作都正常,到现在还是弄不明白具体原因,但是总算程序能正常运行,启动报异常只能后续再慢慢研究了,最后还是要对大家说声谢谢!