尝试远程连接到 websphere 上的 JMS 队列时出现 sun/io/MalformedInputException

2024-03-16

我知道(非常)类似的问题 https://stackoverflow.com/questions/27272877/how-to-solve-sun-io-malformedinputexception-during-jndi-lookup-on-remote-websphe已在其他地方询问过,但没有答案,所以我在这里发帖,希望新帖子能引发一些有价值的回应。

我正在尝试创建一个独立的应用程序来询问在 websphere 上运行的 JMS 队列。队列正在运行,因为本地应用程序能够与其通信,并且有消息在那里等待我。

我正在使用 Netbeans 并使用 JDK1.8。 此外,我已将以下 jar 文件添加到库中:

javax.jms-1.1.jar
com.ibm.ws.orb_8.5.0.jar
com.ibm.ws.ejb.thinclient_8.5.0.jar  

后两个是从 websphere 安装中复制的。

以下是初始代码的摘要(它实际上是在一个具有上下文和工厂位方法的类中构建的,因此已对其进行了修改以在此处显示):

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL, corbaloc:iiop:192.168.254.202:2809);
try{
InitialContext jndiContext = new InitialContext(env);
}catch(NamingException e){
System.out.println("ERROR: Could not create JNDI context: " + System.lineSeparator() + e.toString());
System.exit(1);
}
ConnectionFactory connectionFactory= (ConnectionFactory) this.jndiContext.lookup(factory);
String outFactory       = "jndi/OUTConnectionFactory";
try{    
connectionFactory = (ConnectionFactory) jndiContext.lookup(outFactory);
}catch(Exception e){
System.out.println("ERROR: Could not create factory connection:");
System.out.println(e.toString());
System.exit(2); 
}

此时 (connectionFactory = ...) 失败,但没有触发 catch

Exception in thread "P=598328:O=0:CT" java.lang.NoClassDefFoundError: sun/io/MalformedInputException
    at com.ibm.rmi.iiop.CDRReader.getTcsCConverter(CDRReader.java:398)
    at com.ibm.rmi.iiop.CDRReader.readStringOrIndirection(CDRReader.java:479)
    at com.ibm.rmi.iiop.CDRReader.read_string(CDRReader.java:465)
    at com.ibm.rmi.IOR.read(IOR.java:335)
    at com.ibm.rmi.iiop.Connection._locate(Connection.java:480)
    at com.ibm.rmi.iiop.Connection.locate(Connection.java:439)
    at com.ibm.rmi.iiop.GIOPImpl.locate(GIOPImpl.java:219)
    at com.ibm.rmi.corba.Corbaloc.locateUsingINS(Corbaloc.java:307)
    at com.ibm.rmi.corba.Corbaloc.resolve(Corbaloc.java:378)
    at com.ibm.rmi.corba.ORB.objectURLToObject(ORB.java:3721)
    at com.ibm.CORBA.iiop.ORB.objectURLToObject(ORB.java:3256)
    at com.ibm.rmi.corba.ORB.string_to_object(ORB.java:3619)
    at com.ibm.ws.naming.util.WsnInitCtxFactory.stringToObject(WsnInitCtxFactory.java:1645)
    at com.ibm.ws.naming.util.WsnInitCtxFactory.getWsnNameService(WsnInitCtxFactory.java:1502)
    at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootContextFromServer(WsnInitCtxFactory.java:1040)
    at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:962)
    at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:614)
    at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:128)
    at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:765)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:164)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179)
    at javax.naming.InitialContext.lookup(InitialContext.java:417)
    at jmstool2.JmsConn.CreateFactCon(JmsConn.java:103)
    at jmstool2.JmsConn.connect(JmsConn.java:59)
    at jmstool2.Jmstool2.main(Jmstool2.java:21)
Caused by: java.lang.ClassNotFoundException: sun.io.MalformedInputException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 25 more
Java Result: 1

我真的不知道在哪里可以解决这个错误。是否需要找到正确的 .jar 文件或库,或者这里是否存在更大的问题?我确实是一名 LAMP 开发人员,但事实证明,深入研究 Java 和 JMS 队列的世界是相当令人沮丧的。

非常感谢


班上sun.io.MalformedInputExceptionJava 8 中不存在,并且也不支持 Java 8 作为 WebSphere Application Server v 8.5 的客户端。请使用Java 6或7。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试远程连接到 websphere 上的 JMS 队列时出现 sun/io/MalformedInputException 的相关文章

随机推荐

  • 如何将 React + NodeJS Express 应用程序部署到 AWS?

    我有一个 React Webpack Babel Node Express 应用程序 我想将其部署在 AWS 上 我需要单独部署 React 和 Node Express 吗 或者他们可以同时部署在一起吗 1 如果你有两个不同的项目 例如一
  • 如何在本机反应中使 ScrollView 水平

    我正在使用 ScrollView 滚动列表 我怎样才能使它水平它看起来垂直 我也尝试用不同的视图进行总结 但它不起作用 for eg
  • 在 java 9 中处理 PrintGCApplicationStoppedTime 标志

    我的应用程序正在使用 gc 标志 PrintGCApplicationStoppedTime 但是当我使用 Java 9 运行它时 它失败并出现以下错误 Unrecognized VM option PrintGCApplicationSt
  • Apache Xalan 的替代 XSLT 处理器

    我目前在 Java 应用程序中使用 Apache Xalan XSLT 处理器 但我想使用一些支持使用扩展函数的替代解决方案 Xalan 似乎已经过时并且有问题 我知道 Saxonixa Saxon 但它是闭源的 有没有一些开源且运行良好的
  • IBM WebSphere 8 与 Axis2 Web 服务发生内存泄漏

    将应用程序从 v6 迁移到 WebSphere v8 并开始出现内存泄漏 主要嫌疑人是 org apache axis2 看起来每次应用程序调用 Web 服务时 WAS8 都会创建一个名为 ServiceClient 的对象 并将其存储在名
  • 通知中的待定意图不起作用

    下面是我应该打开的代码块NotificationActivity当点击通知时 但它不起作用 private void setNotification String notificationMessage Uri alarmSound get
  • angular2 等待 if 条件下的 observable 完成

    我已经实现了这样的 if 语句 if this service check return true else 这个 if 条件等待后端的响应 但在 observable 执行之前 它会进入 else 语句并完成条件 而不在开始时检查 if
  • 如何使用 PySpark 将 CSV 文件读取为数据帧时跳过行?

    我有一个 CSV 文件 其结构如下 Header Blank Row Col1 Col2 1 200 1 456 2 000 3 450 我在阅读该文件时遇到两个问题 我想忽略标题并忽略空白行 值中的逗号不是分隔符 这是我尝试过的 df s
  • 使用 Hibernate 避免 Oracle 选择时从日期到时间戳的隐式转换

    我使用 Hibernate 3 2 7 GA 标准查询从 Oracle Enterprise Edition 10 2 0 4 0 数据库中选择行 并按时间戳字段进行筛选 有问题的字段是类型java util Date在 Java 中 以及
  • GCM 返回空消息类型

    我创建了一个使用 GoogleCloudMessaging 的应用程序 应用程序可以注册到 gcm 并将其注册 ID 存储到我服务器上的数据库中 我正在使用 php 来发送推送通知 但是当 google 将其发送到我的设备时 意图服务发现其
  • 使用 SQL REGEXP 忽略数字并仅获取字符串和“/”

    我有一个 MySQL 表 其中有一列 typevarchar 255 它保存以下格式的数据 400 mg 50 12 5 mg ml 20 mikrog 500 mg 400 IU 60 mikrog 15 mikrog 在某些情况下 我需
  • 设置可由我的网络上的其他设备访问的 Django 开发服务器

    我想设置一个 Django 开发服务器 我的计算机和智能手机都可以通过 Wi Fi 在我的网络上访问该服务器 我已经设置了我的计算机可以访问的开发服务器http 127 0 0 1 8000 http 127 0 0 1 8000 但是 我
  • 如何向 c3.js 图表添加标题

    任何人都可以建议我向 C3 js 折线图和条形图添加标题的方法吗 我有以下示例 但它用于仪表图表 对于任何 c3 图表 是否有任何选项可以设置图表标题 donut title Title 这是谷歌的热门结果 所以我想我应该补充一点 它现在是
  • 固定背景封面在移动视图中放大

    我在这里为我的网站使用固定背景封面 http www datisdesign com http www datisdesign com 每个页面都有一个很大的标题图像 但在手机等小型设备中 封面图像变得很大 我想让它在移动设备上变得更小 这
  • 虚假评论数据集

    互联网上有包含常见垃圾邮件的数据集 但我需要包含虚假评论的数据集来进行一些研究 但我找不到任何数据集 有人能给我关于在哪里可以获得虚假评论数据集的建议吗 我们的数据集可以在我的康奈尔大学主页上找到 http www cs cornell e
  • 强制下载mp4文件

    我想强迫用户下载 YouTube 视频 例如this http goo gl zNUlV网址 我下载了视频 可以播放原始视频 但即使视频的长度 大小相同 我在强制下载时也无法播放 function force download file v
  • 保留 WinRT 应用程序设置的最佳方式?

    我正在开发一个 WinRT 应用程序 它实际上也是一个游戏 我需要以文件或其他方式保存不同的信息 例如音频设置或播放器统计信息 如果它是一个文件 只需将设置写入或 我有一个想法 但我认为太初级了 获得这个的最佳方法是什么 非常感谢任何帮助或
  • PostgreSQL 字符串转义设置

    我有 2 台服务器 S1 S2与相同的SELECT version 使用相同的数据库test包含一个表t1具有类型的列text 我尝试插入 2 个带有符号的字符串数组 其中之一 INSERT into t1 columnname VALUE
  • 如何获取Scala函数的参数/返回类型?

    我有一个函数 想要获取它的参数类型和返回类型以在 Scala 宏中使用 scala gt val fn a String b Double gt 123 fn String Double gt Int
  • 尝试远程连接到 websphere 上的 JMS 队列时出现 sun/io/MalformedInputException

    我知道 非常 类似的问题 https stackoverflow com questions 27272877 how to solve sun io malformedinputexception during jndi lookup o