使用 JMeter 登录 XMPP 服务器时抛出 org.jivesoftware.smack.SmackException$NoResponseException

问题描述 投票:0回答:2

我正在尝试通过 JMeter 登录本地 OpenFire XMPP 服务器。我能够连接,但无法登录,因为它从 jmeter.log 文件中抛出以下异常:

2023-01-16 23:53:07,371 INFO o.a.j.e.StandardJMeterEngine: Running the test! 2023-01-16 23:53:07,371 INFO o.a.j.s.SampleEvent: List of sample_variables: [] 2023-01-16 23:53:07,373 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*) 2023-01-16 23:53:07,414 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group 2023-01-16 23:53:07,415 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group. 2023-01-16 23:53:07,415 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error 2023-01-16 23:53:07,415 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 delayedStart=false 2023-01-16 23:53:07,424 INFO o.a.j.t.ThreadGroup: Started thread group number 1 2023-01-16 23:53:07,424 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started 2023-01-16 23:53:07,424 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1 2023-01-16 23:54:47,532 ERROR c.b.j.x.JMeterXMPPSampler: Error in XMPP Sampler:  org.jivesoftware.smack.SmackException$NoResponseException: null at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:191) ~[smack-core-4.0.7.jar:4.0.7] at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:175) ~[smack-core-4.0.7.jar:4.0.7] at org.jivesoftware.smack.XMPPConnection.bindResourceAndEstablishSession(XMPPConnection.java:535) ~[smack-core-4.0.7.jar:4.0.7] at org.jivesoftware.smack.tcp.XMPPTCPConnection.login(XMPPTCPConnection.java:260) ~[smack-tcp-4.0.7.jar:4.0.7] at com.blazemeter.jmeter.xmpp.actions.Login.perform(Login.java:51) ~[jmeter-plugins-xmpp-1.5.1.jar:?] at com.blazemeter.jmeter.xmpp.JMeterXMPPSampler.sample(JMeterXMPPSampler.java:57) ~[jmeter-plugins-xmpp-1.5.1.jar:?] at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) ~[ApacheJMeter_core.jar:5.5] at java.lang.Thread.run(Thread.java:834) ~[?:?] 2023-01-16 23:54:48,447 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 1-1 2023-01-16 23:54:48,447 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1 2023-01-16 23:54:48,447 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test 2023-01-16 23:54:48,447 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)

我已经完成调试并意识到JMeter在身份验证期间使用STARTTLS,但是我使用的本地Openfire xmpp服务器是http并且不使用SSL。我尝试通过将 server.rmi.ssl.disable=true 添加到 jmeter.properties 文件来禁用 SSL,但它在身份验证期间仍然使用 STARTTLS。如何将其更改为 SASL? 如果有人遇到同样的问题并解决了它或对我的问题有任何解决方案,请告诉我。

ssl jmeter xmpp jmeter-plugins openfire
2个回答
0
投票

我认为从 XMPP 插件版本 1.5.1 开始不支持 SASL,选项位于:

  • 您需要相应地修改插件源代码
  • 或者,如果您是 BlazeMeter 客户,您可以通过提出 BlazeMeter 支持票
  • 来请求功能实现
  • 或者您可以在 JSR223 组件中编写自己的身份验证逻辑,并将
    bzm - XMPP Connection
    创建的连接替换为您自己的实例

0
投票

您能告诉我们您解决该异常的步骤吗? 我目前陷入同样的问题...... 我尝试构建相同的插件项目并获取 jmeter-plugins-xmpp-1.5.1 jar 文件并将其放置在 lib/ext 中。 但随后又发现了另一个异常,那就是

“java.lang.InknownClassChangeError:找到类 org.jivesoftware.smack.XMPPConnection,但需要接口 在 com.blazemeter.jmeter.xmpp.JMeterXMPPConnection.setUpConnection(JMeterXMPPConnection.java:91) ~[jmeter-plugins-xmpp-1.5.1.jar:?] 在 com.blazemeter.jmeter.xmpp.JMeterXMPPConnection.getConnection(JMeterXMPPConnection.java:83) ~[jmeter-plugins-xmpp-1.5.1.jar:?] 在 com.blazemeter.jmeter.xmpp.JMeterXMPPSampler.getXMPPConnection(JMeterXMPPSampler.java:81) ~[jmeter-plugins-xmpp-1.5.1.jar:?] 在 com.blazemeter.jmeter.xmpp.JMeterXMPPSampler.sample(JMeterXMPPSampler.java:38) ~[jmeter-plugins-xmpp-1.5.1.jar:?] 在 org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.6.2] 在 org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.6.2] 在 org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) ~[ApacheJMeter_core.jar:5.6.2] 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) ~[ApacheJMeter_core.jar:5.6.2] 在 java.lang.Thread.run(Thread.java:829) [?:?]“

© www.soinside.com 2019 - 2024. All rights reserved.