0

Wir haben eine Anwendung, die GWT für die Kommunikation verwendet. Ich habe DFE (In Loadrunner - Vugen) aktiviert und GWT als Option ausgewählt und die Anwendung .WAR-Datei als Eingabe bereitgestellt, um alle anwendungsbezogenen .jar Dateien zu extrahieren.LoadRunner GWT zu XML Konvertierung

Notiert den Szenariofluss, und ich sehe, dass alle Anforderungen von GWT in XML-Format konvertiert werden. Aber dann, wenn ich das Testskript antworte, habe ich Fehler, da DFE nicht in der Lage ist, die HTTP-Antwort von GWT von im XML-Format zu konvertieren.

Mit welchen anderen Optionen können wir versuchen, diesen Fehler zu beheben und in das XML-Format zu konvertieren? Und gibt es eine Möglichkeit, dass wir die Loadrunner-Fehlermeldung unterdrücken können, so dass es mit den nächsten Schritten anstatt mit einem Fehler fortfahren wird?

Benötigen wir zusätzliche .jar s für die Konvertierung von HTTP-Antworten?

HTTP Response (In GWT-Format): //OK[[],0,5]

Fehlermeldung:

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] 

Dank.

+0

Können Sie im Wiedergabe-Snapshot bestätigen, dass die Rohdaten vom Server im richtigen GWT-Format vorliegen? – Buzzy

+0

Für mich sieht es so aus, als wäre es nicht im GWT-Format. Und mehr in den Antwortheadern sehe ich es als JSON. Im Folgenden finden Sie die Antwortheader als Referenz. HTTP/1.1 200 OK \ r \ nServer: Apache-Coyote/1.1 \ r \ nContent-Encoding: gzip \ r \ nContent-Disposition: Anhang \ r \ nContent-Type: application/json; charset = utf-8 \ r \ nContent-Länge: 453 \ r \ nDatum: Di, 19 Dez 2017 15:23:12 GMT. Wenn die Antwort nicht im GWT-Format vorliegt, wie können wir die Antwortkonvertierung von GWT nach XML in Loadrunner übergehen (Wir brauchen eine Konvertierung für Anfragen, aber nicht für eine Antwort)? – Ajay

+0

Ich sehe, dass Sie bereits Hilfe in unserem offiziellen Forum bekommen, also werde ich hier keine doppelte Antwort hinzufügen. – Buzzy

Antwort

0

, die wie eine leere (void Rückgabetyp) Antwort für eine alte Version von gwt sieht - der Status war Erfolg (//OK), gibt es keine festgelegten Flags (0), die Version ist ziemlich alt (5) und die Array von Zeichenfolgen ist leer, da keine anderen Daten zurückgesendet werden müssen. Klingt statt dessen wie Ihre GWT_DFE Klasse erwartet, dass alle Antworten immer einen Wert haben, oder dass etwas anderes falsch ist, wie sie die Antwort handhaben (vielleicht können sie nicht gut mit der alten Version umgehen? Ich wäre nur blind zu diesem Zeitpunkt erraten, ist dieser Code nicht öffentlich verfügbar).

Wenn Sie über eine RemoteService-Methode wie void sendMessage(SomeObject object) verfügen, ist möglicherweise kein anderer Rückgabetyp als die onSuccess-Antwort erforderlich. Die übereinstimmende asynchrone Schnittstelle hätte dann AsyncCallback<Void> und würde keinen Rückgabewert erhalten.