Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将消息发送到weblogic队列_Java_Jms_Weblogic - Fatal编程技术网

Java 无法将消息发送到weblogic队列

Java 无法将消息发送到weblogic队列,java,jms,weblogic,Java,Jms,Weblogic,我正在尝试向weblogic server中创建的JMS队列发送字符串消息。我正在使用EclipseIDE,当我运行我的web应用程序时,我得到以下错误,tomcat服务器被关闭 javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: failed to unmarshal class weblogic.security.acl.internal.AuthenticatedUser;

我正在尝试向weblogic server中创建的JMS队列发送字符串消息。我正在使用EclipseIDE,当我运行我的web应用程序时,我得到以下错误,tomcat服务器被关闭

javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: failed to unmarshal class weblogic.security.acl.internal.AuthenticatedUser; nested exception is: 
    java.io.StreamCorruptedException: invalid type code: 31]
    at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:74)
    at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:32)
    at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:773)
    at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:673)
    at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:466)
    at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:373)
    at weblogic.jndi.Environment.getContext(Environment.java:307)
    at weblogic.jndi.Environment.getContext(Environment.java:277)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.init(Unknown Source)
    at javax.naming.InitialContext.<init>(Unknown Source)
    at com.infotech.jms.JMSBEAQueueSend.sendMessage(JMSBEAQueueSend.java:48)
    at com.infotech.struts.actions.AppAction.execute(AppAction.java:75)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    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:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.rmi.UnmarshalException: failed to unmarshal class weblogic.security.acl.internal.AuthenticatedUser; nested exception is: 
    java.io.StreamCorruptedException: invalid type code: 31
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:229)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:224)
    at weblogic.common.internal.RMIBootServiceImpl_1001_WLStub.authenticate(Unknown Source)
    at weblogic.security.acl.internal.Security$1.run(Security.java:185)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.security.acl.internal.Security.authenticate(Security.java:181)
    at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRemotely(WLInitialContextFactoryDelegate.java:734)
    at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:667)
    ... 29 more
Caused by: java.io.StreamCorruptedException: invalid type code: 31
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:195)
    at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:565)
    at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:191)
    at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:227)
    ... 37 more
javax.naming.CommunicationException[根异常为java.rmi.unmarshaleException:未能解组类weblogic.security.acl.internal.AuthenticatedUser;嵌套异常为:
java.io.StreamCorruptedException:无效类型代码:31]
位于weblogic.jndi.internal.ExceptionTranslator.tonamingeException(ExceptionTranslator.java:74)
位于weblogic.jndi.internal.ExceptionTranslator.tonamingeException(ExceptionTranslator.java:32)
在weblogic.jndi.WLInitialContextFactoryDelegate.tonamingeException(WLInitialContextFactoryDelegate.java:773)中
在weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:673)
在weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:466)
位于weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:373)
在weblogic.jndi.Environment.getContext(Environment.java:307)
在weblogic.jndi.Environment.getContext(Environment.java:277)
在weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)上
位于javax.naming.spi.NamingManager.getInitialContext(未知源)
位于javax.naming.InitialContext.getDefaultInitCtx(未知源)
位于javax.naming.InitialContext.init(未知源)
位于javax.naming.InitialContext。(未知源)
在com.infotech.jms.JMSBEAQueueSend.sendMessage上(JMSBEAQueueSend.java:48)
位于com.infotech.struts.actions.AppAction.execute(AppAction.java:75)
位于org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
位于org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
位于org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
位于org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
位于java.lang.Thread.run(未知源)
原因:java.rmi.UnmarshalException:未能解组类weblogic.security.acl.internal.AuthenticatedUser;嵌套异常是:
java.io.StreamCorruptedException:无效类型代码:31
位于weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:229)
位于weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:224)
位于weblogic.common.internal.RMIBootServiceImpl\u 1001\u WLStub.authenticate(未知源)
位于weblogic.security.acl.internal.security$1.run(security.java:185)
位于weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
位于weblogic.security.service.SecurityManager.runAs(未知源)
位于weblogic.security.acl.internal.security.authenticate(security.java:181)
在weblogic.jndi.WLInitialContextFactoryDelegate.AuthenticateRemote上(WLInitialContextFactoryDelegate.java:734)
位于weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:667)
... 还有29个
原因:java.io.StreamCorruptedException:无效类型代码:31
位于java.io.ObjectInputStream.readObject0(未知源)
位于java.io.ObjectInputStream.readObject(未知源)
位于weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:195)
位于weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:565)
位于weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:191)
位于weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
位于weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:227)
... 37多

请帮助我。谢谢并致以最诚挚的问候

基于对该问题的一些快速研究,它似乎是由于在应用程序服务器和客户端之间使用不同的JDK级别造成的。我看到的大多数示例都表明,在客户机上使用Java6,而在Java5上运行Weblogic时,会发生这种情况

虽然我个人没有尝试过,但建议在客户端应用程序的启动命令中添加以下内容:

-Dsun.lang.ClassLoader.allowArraySyntax=true
设置此属性可在ClassLoader的loadClass方法中启用向后兼容模式

下面是一个提供一些附加信息的示例


或者,如果要执行直接集成,则必须确保客户端和服务器运行相同的JVM级别。显然,这通常不是最佳解决方案。

请询问是否需要进一步的信息。我正在使用eclipse ide。。我需要在哪里添加启动注释?如果您是从Eclipse中运行客户机,那么您需要将此命令添加到客户机的运行配置中:右键单击project并单击g