LoadRunner GWT到XML转换

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

我们有一个使用GWT进行通信的应用程序。我已启用DFE(In Loadrunner - Vugen)并选择GWT作为选项,并提供应用程序.WAR文件作为输入以提取所有与应用程序相关的.jar文件。

记录了场景流,我看到所有请求都从GWT转换为XML格式。但是当我回复测试脚本时,我遇到了错误,因为DFE无法将HTTP响应从GWT转换为XML格式。

我们可以尝试解决此错误并转换为XML格式的其他选项有哪些?是否有一种方法可以抑制Loadrunner错误消息,以便它继续执行下一步而不是失败?

我们是否需要任何额外的.jars来转换HTTP响应?

HTTP响应(以GWT格式)://OK[[],0,5]

错误信息:

Action.c(93): Error -27040: Data Format Extension: Extension: GWT - ERROR 
[GWT_DFE] - Failed to parse response: 
java.lang.ArrayIndexOutOfBoundsException: -1
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(ArrayList.java:403) ~[?:1.8.0-internal]
at java.util.ArrayList.get(ArrayList.java:416) ~[?:1.8.0-internal]


atcom.gdevelop.gwt.syncrpc.SyncClientSerializationStreamReader.readInt(SyncClientSerializationStreamReader.java:450) ~[SyncProxy.jar:?]
at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:46) ~[gwt-servlet-2.0.4.jar:?]
at com.hp.dfe.GWT_DFE.deserializeResponseToXML(GWT_DFE.java:462) [classes/:?]
at com.hp.dfe.GWT_DFE.decode(GWT_DFE.java:704) [classes/:?]
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0-internal]
at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0-internal]
at com.hp.dfe.GWT_DFE_DYNAMICALLY_REFLECTED.doOperation(GWT_DFE_DYNAMICALLY_REFLECTED.java:70) [classes/:?]
at com.hp.dfe.GWT_DFE_DYNAMICALLY_REFLECTED.decode(GWT_DFE_DYNAMICALLY_REFLECTED.java:60) [classes/:?]
at com.hp.dfe.GWT_DFE_LAUNCHER.decode(GWT_DFE_LAUNCHER.java:456) [classes/:?]

[MsgId: MERR-27040]
Action.c(93): Error -27040: Data Format Extension: Extension: GWT - ERROR [GWT_DFE] - failed to read as a response
Øp–ñ´Ò
[MsgId: MERR-27040]

谢谢。

gwt performance-testing loadrunner vugen hp-performance-center
1个回答
0
投票

对于旧版本的gwt来说,这看起来像一个空(void返回类型)响应 - 状态是成功的(//OK),没有设置标志(0),版本很旧(5),字符串数组是空,因为没有其他数据要发回。对我来说听起来像你的GWT_DFE类期望所有的响应总是有一个值,或者他们处理响应的其他方面是非常错误的(也许他们不能很好地处理旧版本?我只是盲目地在这一点上猜测,该代码不公开)。

如果你有像void sendMessage(SomeObject object)这样的RemoteService方法,除了onSuccess响应本身之外,可能不需要任何返回类型。匹配的异步接口将具有AsyncCallback<Void>,并且不会获得返回值。

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