gpt4 book ai didi

java - JMeter 测试中 CXF 的不连贯行为

转载 作者:行者123 更新时间:2023-12-02 09:26:58 26 4
gpt4 key购买 nike

我在公司计算机上使用 Apache JMeter 测试 Fuse 时遇到问题:我正在使用 Java 7、JBoss Fuse 6.1.1 和 JMEter 3.0(和 3.2)。

我有一组测试

  1. 我发送 HTTP 请求;
  2. 部署的应用程序通过 HTTP 请求的路径读取请求;
  3. 它意识到我正在调用 XML 格式的 stub 文件;
  4. 应用程序读取 stub 目录中的正确文件;
  5. 应用程序遵循业务逻辑。

令我惊讶的是,这个过程在我和我同事的笔记本中可以正常工作,但在公司计算机中却不起作用。

在我公司的计算机中,该过程到达倒数第二步,在最后一步我收到此错误:

ID: 1 Response-Code: 500

Content-Type: text/plain

Headers: {/*some stuff/}

Payload: No message body writer has been found for responseclass AnyBusinessProCessResultImpl.

AnyBusinessProCessResultImpl 是由其他文件(如 DSL)创建的 Java Bean,我无法修改。

阅读this question ,错误喜欢通过编码/解码或 jackson 的不正确使用而产生,那么可能需要在源代码中编写修复程序并部署新版本的工件。

但是这个版本的 Artifact 在我们的笔记本上运行正确,那么我认为这是JMeter或Fuse的问题(在3工作站中是相同的)。3个工作站的配置相同,主要区别是我在公司计算机中没有任何管理员权限(我在虚拟机中工作),在我的笔记本中我有,但我认为在 Windows 7 工作站中发送/接收 HTTP 请求可以在用户空间上工作,无需任何管理员权限。

另一个想法是按正确顺序加载库的问题:也许在公司计算机中使用 Fuse 的库/模块 OSGI,但这似乎是一个太低级别的猜测。

我注意到唯一的区别在于响应有效负载中的 header :在公司计算机中,它缺少有关内容类型的 header

Content-Type: text/plain

Headers: {/**some stuff*/}

在笔记本中它看起来像

Content-Type: text/xml

Headers: {blabla, content-type="text/xml", blabla}

但是,我还是不明白工作站中相同配置之间的差异。

请问您还有其他建议或想法需要调查吗?

最佳答案

您的AnyBusinessProCessResultImpl不属于JMeter,它是自定义的东西,很可能是某种形式的Java Class用于生成请求正文。

您需要交叉检查 following folders 的内容:

  • 库/扩展
  • lib/junit

以及以下值 properties

  • 搜索路径
  • 用户.classpath

假设您在 JMeter 下拥有相同的 Java 库集 Classpath - 你将能够得到相同的行为。

最简单的方法是将 JMeter 安装从您同事的一台计算机复制到您的计算机/VM。

另请注意,根据 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure文章中您应该始终使用最新版本的 JMeter,因此请考虑升级到 JMeter 5.1.1 (或者 JMeter Downloads 页面上提供的最新稳定 JMeter 版本)在下一个可用的机会。

关于java - JMeter 测试中 CXF 的不连贯行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58278104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com