[ https://issues.apache.org/jira/browse/THRIFT-815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12887055#action_12887055 ]
Jordan edited comment on THRIFT-815 at 7/10/10 12:56 PM: --------------------------------------------------------- Thanks Jake, but I don't think that this works when the things in the list contains objects. I changed the testList method to accept a list of LoginResponse objects (that's one of my types) and tried the following code example: On the server side, it should just return the same list, as before but now the list contains objects. var arr = new Array(); var lr = new TheService.LoginResponse({validCredentials:true, sessionId:"asdf"}); arr.push(lr); lr = new TheService.LoginResponse({validCredentials:false, sessionId:"ccc"}); arr.push(lr); lr = new TheService.LoginResponse({validCredentials:false, sessionId:"KKLK"}); arr.push(lr); var ret = client.testList(arr); debugger; What I observe is that I get an empty (everything set to false etc.) first object, the second object is the *last* object of the input list* and everything else is empty (everything set to false/0/etc). was (Author: jordo): Thanks Jake, but I don't think that this works when the things in the list are objects. I changed the testList method to accept a list of LoginResponse objects (that's one of my types) and tried the following code example: On the server side, it should just return the same list, as before but now the list contains objects. var arr = new Array(); var lr = new TheService.LoginResponse({validCredentials:true, sessionId:"asdf"}); arr.push(lr); lr = new TheService.LoginResponse({validCredentials:false, sessionId:"ccc"}); arr.push(lr); lr = new TheService.LoginResponse({validCredentials:false, sessionId:"KKLK"}); arr.push(lr); var ret = client.testList(arr); debugger; What I observe is that I get an empty (everything set to false etc.) first object, the second object is the *last* object of the input list* and everything else is empty (everything set to false/0/etc). > Deserialization of lists is critically broken. > ---------------------------------------------- > > Key: THRIFT-815 > URL: https://issues.apache.org/jira/browse/THRIFT-815 > Project: Thrift > Issue Type: Bug > Components: Compiler (JavaScript) > Affects Versions: 0.4 > Reporter: Jordan > Assignee: T Jake Luciani > Priority: Critical > Fix For: 0.4 > > Attachments: 813-1.patch > > > Edit the test code that comes with the js language target: > var list = [1,2,3]; > var ret = client.testList(list); > debugger; > ret comes back as [3,3,3] when it should be echoed back as [1,2,3] > The test case never caught this because it only verified the size, and not > the contents of the returned array. > I cannot find an immediate workaround, but I will try wrapping it in a dummy > type like ListServiceResponse. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.