【发布时间】:2019-10-07 22:51:08
【问题描述】:
我在公司计算机上使用 Apache JMeter 测试 Fuse 时遇到问题:我正在使用 Java 7、JBoss Fuse 6.1.1 和 JMEter 3.0(和 3.2)。
我有一套测试在哪里
- 我发送一个 HTTP 请求;
- 已部署的应用程序通过 HTTP 请求的路径读取请求;
- 它意识到我正在调用 XML 中的存根文件;
- 应用程序读取了存根目录中的正确文件;
- 应用程序遵循业务逻辑。
令我惊讶的是,这个过程在我和我同事的笔记本上都能正常工作,但在公司的电脑上却不行。
在我公司的计算机中,该过程到达倒数第二个步骤,在最后一步我收到此错误:
ID:1 响应代码:500
内容类型:文本/纯文本
标题:{/*一些东西/}
有效负载:未找到响应的消息正文编写器 类 AnyBusinessProCessResultImpl。
类 AnyBusinessProCessResultImpl 是由我无法修改的其他文件(如 DSL)创建的 Java Bean。
阅读this question,错误喜欢由编组/解组或杰克逊的不正确使用产生, 那么可能需要在源代码中编写修复程序并部署新版本的工件。
但是这个版本的神器在我们的笔记本上运行正常,那么我认为这是JMeter或Fuse的问题(在3工作站中相同)。 3台工作站的配置相同, 主要区别是我在公司计算机中没有任何管理员权限(我在虚拟机中工作),在我的笔记本中,我有, 但我想在 Windows 7 工作站中发送/接收 HTTP 请求可以在用户空间上工作,没有任何管理员权限。
另一个想法是按正确顺序加载库的问题:可能在公司计算机中 Fuse 的库/模块 OSGI,但这似乎是一个太低级别的推测。
我注意到唯一的区别在于响应负载中的标头:在公司计算机中,它缺少有关内容类型的标头
Content-Type: text/plain
Headers: {/**some stuff*/}
在笔记本中的样子
Content-Type: text/xml
Headers: {blabla, content-type="text/xml", blabla}
但是,同样,我不明白工作站中相同配置之间的差异。
请问您还有其他建议或想法要调查吗?
【问题讨论】:
标签: java jmeter cxf content-type jbossfuse