Issue Details (XML | Word | Printable)

Key: EFL-4
Type: Sub-task Sub-task
Status: Closed Closed
Resolution: Cannot Reproduce
Priority: Major Major
Assignee: Stonaev, Dmitri
Reporter: Lowe, Chris
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Exadel Flamingo
EFL-3

Hessian message format changed from Seam 2.2.1.CR1 and recent 2.2.1.SNAPSHOT

Created: 03/Apr/10 09:50 AM   Updated: 11/Jun/10 07:45 AM   Resolved: 11/Jun/10 07:45 AM
Component/s: None
Affects Version/s: 2.0.0
Fix Version/s: 2.2.0

Time Tracking:
Original Estimate: 4 hours
Original Estimate - 4 hours
Remaining Estimate: 2 hours
Time Spent - 2 hours Remaining Estimate - 2 hours
Time Spent: 2 hours
Time Spent - 2 hours Remaining Estimate - 2 hours


 Description  « Hide
Using Charles HTTP proxy, under Seam 2.2.1.CR1 a call to a simple server side method that returned a Boolean gave the following HEX output in the response:

00000000 72 01 00 46 7a r Fz


After upgrading to a recent snapshot of Seam 2.2.1, the output changed to:

00000000 72 02 00 48 00 0e 63 6f 6e 76 65 72 73 61 74 69 r H conversati
00000010 6f 6e 49 64 4e 46 7a onIdNFz

My JavaFX client could not handle this new format and reported a Hessian unexpected byte message.

I resolved the issue by editing HessianSeamContextualInvoker.process() to prevent the conversation ID from being added:

public void process() throws Exception {

invoke();

if (protocolVersion >= HESSIAN_PROTOCOL_MAJOR_VERSION) {
// out.writeHeader(FlamingoSeamConstants.HEADER_CONVERSATION_ID);
if (Manager.instance().isLongRunningConversation()) {
out.writeObject(Manager.instance().getCurrentConversationId());
} else {
// out.writeObject(null);
}
}
}

Stonaev, Dmitri added a comment - 11/Jun/10 07:08 AM
Cannot reproduce in new flamingo version (flamingo now include support of hessian protocol 2.0)