问题描述
jms是weblogic实现的,各模块如下图所示:发送端java代码我是这么写的:try{//初始化jndi命名空间环境Hashtableht=newHashtable();ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");ht.put(Context.PROVIDER_URL,"t3://localhost:7001");ht.put(Context.SECURITY_PRINCIPAL,"weblogic");ht.put(Context.SECURITY_CREDENTIALS,"weblogic10");Contextctx=newInitialContext(ht);TopicConnectionFactoryfactory=(TopicConnectionFactory)ctx.lookup("ConnectionFactory");//创建一个ConnectionTopicConnectionconn=factory.createTopicConnection();//建立不需要事务的并且能够自动确认已接收的会话Sessionsession=conn.createSession(false,TopicSession.AUTO_ACKNOWLEDGE);//找到主题Destinationdestination=(Destination)ctx.lookup("Topic");//生产者MessageProducerproducer=session.createProducer(destination);System.out.println("-----消息发送-----");TextMessagemsg=session.createTextMessage("hellojavaMessageserviceoftopic.");producer.send(msg);System.out.println(msg);System.out.println("-----消息发送结束-----");}catch(Exceptione){e.printStackTrace();}
发送的时候报错了,异常如下:2013-12-519:50:19com.sun.corba.se.impl.encoding.CDRInputStream_1_0read_value警告:"IOP00810211:(MARSHAL)ExceptionfromreadValueonValueHandlerinCDRInputStream"org.omg.CORBA.MARSHAL:vmcid:SUNminorcode:211completed:Maybeatcom.sun.corba.se.impl.logging.ORBUtilSystemException.valuehandlerReadException(UnknownSource)atcom.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(UnknownSource)atcom.sun.corba.se.impl.encoding.CDRInputStream.read_value(UnknownSource)atweblogic.jms.frontend._FEConnectionFactoryRemote_Stub.connectionCreateRequest(_FEConnectionFactoryRemote_Stub.java:92)atweblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:238)atweblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:299)atweblogic.jms.client.JMSConnectionFactory.createConnection(JMSConnectionFactory.java:205)atcom.hiaward.send.JMSSender.main(JMSSender.java:47)Causedby:java.io.StreamCorruptedException:[Messaging:282000]Unsupportedclassversion8.Expectedavaluebetween1and7inclusive.atweblogic.jms.common.JMSUtilities.versionIOException(JMSUtilities.java:102)atweblogic.jms.client.JMSConnection.readExternal(JMSConnection.java:2038)atcom.sun.corba.se.impl.io.IIOPInputStream.inputObject(UnknownSource)atcom.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(UnknownSource)atcom.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(UnknownSource)atcom.sun.corba.se.impl.io.ValueHandlerImpl.readValue(UnknownSource)...7moreweblogic.jms.common.JMSException:[JMSClientExceptions:055053]Errorcreatingconnectiontotheserver:java.rmi.MarshalException:CORBAMARSHAL1398079699Maybe;nestedexceptionis:org.omg.CORBA.MARSHAL:vmcid:SUNminorcode:211completed:Maybeatweblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:272)atweblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:299)atweblogic.jms.client.JMSConnectionFactory.createConnection(JMSConnectionFactory.java:205)atcom.hiaward.send.JMSSender.main(JMSSender.java:47)Causedby:java.rmi.MarshalException:CORBAMARSHAL1398079699Maybe;nestedexceptionis:org.omg.CORBA.MARSHAL:vmcid:SUNminorcode:211completed:Maybeatcom.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(UnknownSource)atjavax.rmi.CORBA.Util.mapSystemException(UnknownSource)atweblogic.jms.frontend._FEConnectionFactoryRemote_Stub.connectionCreateRequest(_FEConnectionFactoryRemote_Stub.java:106)atweblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:238)...3moreCausedby:org.omg.CORBA.MARSHAL:vmcid:SUNminorcode:211completed:Maybeatcom.sun.corba.se.impl.logging.ORBUtilSystemException.valuehandlerReadException(UnknownSource)atcom.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(UnknownSource)atcom.sun.corba.se.impl.encoding.CDRInputStream.read_value(UnknownSource)atweblogic.jms.frontend._FEConnectionFactoryRemote_Stub.connectionCreateRequest(_FEConnectionFactoryRemote_Stub.java:92)...4moreCausedby:java.io.StreamCorruptedException:[Messaging:282000]Unsupportedclassversion8.Expectedavaluebetween1and7inclusive.atweblogic.jms.common.JMSUtilities.versionIOException(JMSUtilities.java:102)atweblogic.jms.client.JMSConnection.readExternal(JMSConnection.java:2038)atcom.sun.corba.se.impl.io.IIOPInputStream.inputObject(UnknownSource)atcom.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(UnknownSource)atcom.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(UnknownSource)atcom.sun.corba.se.impl.io.ValueHandlerImpl.readValue(UnknownSource)...7more
网上查了好多资料,但是还是解决不了,哪位大牛帮我看看,感激不尽!
解决方案
解决方案二:
期待大拿!!!
解决方案三:
明显是JDK版本问题Unsupportedclassversion8.Expectedavaluebetween1and7inclusive.
解决方案四:
试下下面的办法,将weblogic.jar用wlfullclient.jar替换。wlfullclient.jar生成方式是,进入weblogic的安装目录例如C:OracleMiddlewarewlserver_10.3serverlib,运行java-jarwljarbuilder.jar就能生成wlfullclient.jar文件
解决方案五:
编译环境JDK版本低