From: Dan A. v. a. <we...@ma...> - 2008-07-08 20:13:34
|
Log Message: ----------- Modified the data types isn these files to encapsulate the data in a SOAP string type. Modified Files: -------------- webwork2/lib: WebworkSOAP.pm webwork2/lib/WebworkSOAP/Classes: GlobalProblem.pm GlobalSet.pm Key.pm Password.pm Permission.pm User.pm UserProblem.pm UserSet.pm Revision Data ------------- Index: WebworkSOAP.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -Llib/WebworkSOAP.pm -Llib/WebworkSOAP.pm -u -r1.12 -r1.13 --- lib/WebworkSOAP.pm +++ lib/WebworkSOAP.pm @@ -57,6 +57,12 @@ return $self; } +sub array_to_soap_string { + my @array = @_; + @array = map { SOAP::Data->type( 'string', $_ ) } @array; + return \@array; +} + sub soap_fault_authen { die SOAP::Fault->faultcode(SOAPERROR_AUTHEN_FAILED) ->faultstring("SOAP Webservice Authentication Failed!"); @@ -103,7 +109,7 @@ } $@ and soap_fault_major("Course Environment cannot be constructed."); my @test = listCourses($ce); - return \@test; + return array_to_soap_string( @test ); } =pod @@ -127,7 +133,7 @@ eval { $soapEnv->{db}->deleteKey($userID) }; eval { $soapEnv->{db}->addKey($Key) }; $@ and soap_fault(SOAPERROR_USER_NOT_FOUND,"User not found."); - return $newKey; + return SOAP::Data->type( 'string', $newKey ); } =pod @@ -171,7 +177,7 @@ initializeUserProblem($UserProblem, $seed); eval { $db->addUserProblem($UserProblem) }; } - return @results; + return array_to_soap_string( @results ); #FIXME WSDL says $string, not @string? } =pod @@ -196,7 +202,7 @@ } push(@grades,$grade); } - return \@grades; + return array_to_soap_string( @grades ); } =pod @@ -204,7 +210,7 @@ _IN authenKey $string _IN courseName $string _IN setID $string -_RETURN @string +_RETURN $WebworkSOAP::Classes::GlobalSet =end WSDL =cut sub get_set_data { @@ -216,8 +222,6 @@ } my $set = new WebworkSOAP::Classes::GlobalSet($setData); return $set; - - } #################################################################### @@ -240,7 +244,7 @@ my $soapEnv = new WebworkSOAP($authenKey,$courseName); my $newPassword = $soapEnv->{db}->newPassword; %$newPassword = %$record; - return $soapEnv->{db}->addPassword($newPassword); + return SOAP::Data->type( 'string', $soapEnv->{db}->addPassword($newPassword) ); } =pod @@ -254,7 +258,7 @@ sub put_password { my ($self,$authenKey,$courseName,$record) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->putPassword($record); + return SOAP::Data->type( 'string', $soapEnv->{db}->putPassword($record) ); } =pod @@ -268,7 +272,7 @@ my ($self,$authenKey,$courseName) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); my @tempArray = $soapEnv->{db}->listPasswords; - return \@tempArray; + return array_to_soap_string( @tempArray ); } =pod @@ -326,7 +330,7 @@ my $soapEnv = new WebworkSOAP($authenKey,$courseName); my $newPermissionLevel = $soapEnv->{db}->newPermissionLevel; %$newPermissionLevel = %$record; - return $soapEnv->{db}->addPermissionLevel($newPermissionLevel); + return SOAP::Data->type( 'string', $soapEnv->{db}->addPermissionLevel($newPermissionLevel) ); } =pod @@ -340,7 +344,7 @@ sub put_permission { my ($self,$authenKey,$courseName,$record) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->putPermissionLevel($record); + return SOAP::Data->type( 'string', $soapEnv->{db}->putPermissionLevel($record) ); } =pod @@ -354,7 +358,7 @@ my ($self,$authenKey,$courseName) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); my @tempArray = $soapEnv->{db}->listPermissionLevels; - return \@tempArray; + return array_to_soap_string( @tempArray ); } =pod @@ -412,7 +416,7 @@ my $soapEnv = new WebworkSOAP($authenKey,$courseName); my $newKey = $soapEnv->{db}->newKey; %$newKey = %$record; - return $soapEnv->{db}->addKey($newKey); + return SOAP::Data->type( 'string', $soapEnv->{db}->addKey($newKey) ); } =pod @@ -426,7 +430,7 @@ sub put_key { my ($self,$authenKey,$courseName,$record) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->putKey($record); + return SOAP::Data->type( 'string', $soapEnv->{db}->putKey($record) ); } =pod @@ -440,7 +444,7 @@ my ($self,$authenKey,$courseName) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); my @tempArray = $soapEnv->{db}->listKeys; - return \@tempArray; + return array_to_soap_string( @tempArray ); } =pod @@ -498,7 +502,7 @@ my $soapEnv = new WebworkSOAP($authenKey,$courseName); my $newUser = $soapEnv->{db}->newUser; %$newUser = %$record; - return $soapEnv->{db}->addUser($newUser); + return SOAP::Data->type( 'string', $soapEnv->{db}->addUser($newUser) ); } =pod @@ -512,7 +516,7 @@ sub put_user { my ($self,$authenKey,$courseName,$record) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->putUser($record); + return SOAP::Data->type( 'string', $soapEnv->{db}->putUser($record) ); } =pod @@ -526,7 +530,7 @@ my ($self,$authenKey,$courseName) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); my @tempArray = $soapEnv->{db}->listUsers; - return \@tempArray; + return array_to_soap_string( @tempArray ); } =pod @@ -578,7 +582,7 @@ sub delete_user { my ($self,$authenKey,$courseName,$userID) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->deleteUser($userID); + return SOAP::Data->type( 'string', $soapEnv->{db}->deleteUser($userID) ); } ################################################## @@ -598,7 +602,7 @@ my $soapEnv = new WebworkSOAP($authenKey,$courseName); my $newGlobalSet = $soapEnv->{db}->newGlobalSet; %$newGlobalSet = %$record; - return $soapEnv->{db}->addGlobalSet($newGlobalSet); + return SOAP::Data->type( 'string', $soapEnv->{db}->addGlobalSet($newGlobalSet) ); } =pod @@ -612,7 +616,7 @@ sub put_global_set { my ($self,$authenKey,$courseName,$record) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->putGlobalSet($record); + return SOAP::Data->type( 'string', $soapEnv->{db}->putGlobalSet($record) ); } =pod @@ -626,10 +630,9 @@ my ($self,$authenKey,$courseName) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); my @tempArray = $soapEnv->{db}->listGlobalSets; - return \@tempArray; + return array_to_soap_string( @tempArray ); } - =pod =begin WSDL _IN authenKey $string @@ -698,7 +701,7 @@ sub delete_global_set { my ($self,$authenKey,$courseName,$setID) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->deleteGlobalSet($setID); + return SOAP::Data->type( 'string', $soapEnv->{db}->deleteGlobalSet($setID) ); } ################################################## @@ -718,7 +721,7 @@ my $soapEnv = new WebworkSOAP($authenKey,$courseName); my $newGlobalProblem = $soapEnv->{db}->newGlobalProblem; %$newGlobalProblem = %$record; - return $soapEnv->{db}->addGlobalProblem($newGlobalProblem); + return SOAP::Data->type( 'string', $soapEnv->{db}->addGlobalProblem($newGlobalProblem) ); } =pod @@ -732,7 +735,7 @@ sub put_global_problem { my ($self,$authenKey,$courseName,$record) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->putGlobalProblem($record); + return SOAP::Data->type( 'string', $soapEnv->{db}->putGlobalProblem($record) ); } =pod @@ -747,7 +750,7 @@ my ($self,$authenKey,$courseName,$setID) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); my @tempArray = $soapEnv->{db}->listGlobalProblems($setID); - return \@tempArray; + return array_to_soap_string( @tempArray ); } =pod @@ -773,7 +776,7 @@ =begin _IN authenKey $string _IN courseName $string -_IN problemIDs @string +_IN problemIDs @string An array reference: [userID setID problemID] _RETURN @WebworkSOAP::Classes::GlobalProblem Array of user objects =end WSDL =cut @@ -783,7 +786,7 @@ my @problemData = $soapEnv->{db}->getGlobalProblems(@$problemIDs); my @problems; for(my $i=0;$i<@problemData;$i++) { - push(@problems,new WebworkSOAP::Classes::GlobalProblem(@problemData[$i])); + push(@problems,new WebworkSOAP::Classes::GlobalProblem(@problemData[$i])); #FIXME $problemData[$i]? } return \@problems; } @@ -820,7 +823,7 @@ sub delete_global_problem { my ($self,$authenKey,$courseName,$setID,$problemID) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->deleteGlobalProblem($setID,$problemID); + return SOAP::Data->type( 'string', $soapEnv->{db}->deleteGlobalProblem($setID,$problemID) ); } ################################################## @@ -840,7 +843,7 @@ my $soapEnv = new WebworkSOAP($authenKey,$courseName); my $newUserProblem = $soapEnv->{db}->newUserProblem; %$newUserProblem = %$record; - return $soapEnv->{db}->addUserProblem($newUserProblem); + return SOAP::Data->type( 'string', $soapEnv->{db}->addUserProblem($newUserProblem) ); } =pod @@ -854,7 +857,7 @@ sub put_user_problem { my ($self,$authenKey,$courseName,$record) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->putUserProblem($record); + return SOAP::Data->type( 'string', $soapEnv->{db}->putUserProblem($record) ); } =pod @@ -862,14 +865,15 @@ _IN authenKey $string _IN courseName $string _IN userID $string +_IN setID $string _RETURN @string of names objects. =end WSDL =cut sub list_user_problems { - my ($self,$authenKey,$courseName,$userID) = @_; + my ($self,$authenKey,$courseName,$userID,$setID) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - my @tempArray = $soapEnv->{db}->listUserProblems($userID); - return \@tempArray; + my @tempArray = $soapEnv->{db}->listUserProblems($userID,$setID); + return array_to_soap_string( @tempArray ); } =pod @@ -896,7 +900,7 @@ =begin WSDL _IN authenKey $string _IN courseName $string -_IN userProblemIDs @string +_IN userProblemIDs @string A 3 element array: { user_ID, setID, problemID } _RETURN @WebworkSOAP::Classes::UserProblem of names objects. =end WSDL =cut @@ -945,7 +949,7 @@ sub delete_user_problem { my ($self,$authenKey,$courseName,$userID,$setID,$problemID) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->deleteUserProblem($userID,$setID,$problemID); + return SOAP::Data->type( 'string', $soapEnv->{db}->deleteUserProblem($userID,$setID,$problemID) ); } ################################################## @@ -965,7 +969,7 @@ my $soapEnv = new WebworkSOAP($authenKey,$courseName); my $newUserSet = $soapEnv->{db}->newUserSet; %$newUserSet = %$record; - return $soapEnv->{db}->addUserSet($newUserSet); + return SOAP::Data->type( 'string', $soapEnv->{db}->addUserSet($newUserSet) ); } =pod @@ -979,7 +983,7 @@ sub put_user_set { my ($self,$authenKey,$courseName,$record) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->addUserSet($record); + return SOAP::Data->type( 'string', $soapEnv->{db}->addUserSet($record) ); } =pod @@ -994,7 +998,7 @@ my ($self,$authenKey,$courseName,$userID) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); my @tempArray = $soapEnv->{db}->listUserSets($userID); - return \@tempArray; + return array_to_soap_string( @tempArray ); } =pod @@ -1066,7 +1070,7 @@ sub delete_user_set { my ($self,$authenKey,$courseName,$userID,$setID) = @_; my $soapEnv = new WebworkSOAP($authenKey,$courseName); - return $soapEnv->{db}->deleteUserSet($userID,$setID); + return SOAP::Data->type( 'string', $soapEnv->{db}->deleteUserSet($userID,$setID) ); } Index: Permission.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/Permission.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -Llib/WebworkSOAP/Classes/Permission.pm -Llib/WebworkSOAP/Classes/Permission.pm -u -r1.3 -r1.4 --- lib/WebworkSOAP/Classes/Permission.pm +++ lib/WebworkSOAP/Classes/Permission.pm @@ -10,8 +10,8 @@ my $self = shift; my $data = shift; $self = {}; - $self->{user_id} = $data->user_id; - $self->{permission} = $data->permission; + $self->{user_id} = SOAP::Data->type( 'string', $data->user_id ); + $self->{permission} = SOAP::Data->type( 'string', $data->permission ); bless $self; return $self; } Index: User.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/User.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -Llib/WebworkSOAP/Classes/User.pm -Llib/WebworkSOAP/Classes/User.pm -u -r1.2 -r1.3 --- lib/WebworkSOAP/Classes/User.pm +++ lib/WebworkSOAP/Classes/User.pm @@ -17,15 +17,15 @@ my $self = shift; my $data = shift; $self = {}; - $self->{user_id} = $data->user_id; - $self->{first_name} = $data->first_name; - $self->{last_name} = $data->last_name; - $self->{email_address} = $data->email_address; - $self->{student_id} = $data->student_id; - $self->{status} = $data->status; - $self->{section} = $data->section; - $self->{recitation} = $data->recitation; - $self->{comment} = $data->comment; + $self->{user_id} = SOAP::Data->type( 'string', $data->user_id ); + $self->{first_name} = SOAP::Data->type( 'string', $data->first_name ); + $self->{last_name} = SOAP::Data->type( 'string', $data->last_name ); + $self->{email_address} = SOAP::Data->type( 'string', $data->email_address ); + $self->{student_id} = SOAP::Data->type( 'string', $data->student_id ); + $self->{status} = SOAP::Data->type( 'string', $data->status ); + $self->{section} = SOAP::Data->type( 'string', $data->section ); + $self->{recitation} = SOAP::Data->type( 'string', $data->recitation ); + $self->{comment} = SOAP::Data->type( 'string', $data->comment ); bless $self; return $self; } Index: Key.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/Key.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -Llib/WebworkSOAP/Classes/Key.pm -Llib/WebworkSOAP/Classes/Key.pm -u -r1.2 -r1.3 --- lib/WebworkSOAP/Classes/Key.pm +++ lib/WebworkSOAP/Classes/Key.pm @@ -11,9 +11,9 @@ my $self = shift; my $data = shift; $self = {}; - $self->{user_id} = $data->user_id; - $self->{key_not_a_keyboard} = $data->key_not_a_keyboard; - $self->{timestamp} = $data->timestamp; + $self->{user_id} = SOAP::Data->type( 'string', $data->user_id ); + $self->{key_not_a_keyboard} = SOAP::Data->type( 'string', $data->key_not_a_keyboard ); + $self->{timestamp} = SOAP::Data->type( 'string', $data->timestamp ); bless $self; return $self; } Index: GlobalProblem.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/GlobalProblem.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -Llib/WebworkSOAP/Classes/GlobalProblem.pm -Llib/WebworkSOAP/Classes/GlobalProblem.pm -u -r1.2 -r1.3 --- lib/WebworkSOAP/Classes/GlobalProblem.pm +++ lib/WebworkSOAP/Classes/GlobalProblem.pm @@ -11,11 +11,11 @@ my $self = shift; my $data = shift; $self = {}; - $self->{set_id} = $data->set_id; - $self->{problem_id} = $data->problem_id; - $self->{source_file} = $data->source_file; - $self->{value} = $data->value; - $self->{max_attempts} = $data->max_attempts; + $self->{set_id} = SOAP::Data->type( 'string', $data->set_id ); + $self->{problem_id} = SOAP::Data->type( 'string', $data->problem_id ); + $self->{source_file} = SOAP::Data->type( 'string', $data->source_file ); + $self->{value} = SOAP::Data->type( 'string', $data->value ); + $self->{max_attempts} = SOAP::Data->type( 'string', $data->max_attempts ); bless $self; return $self; } Index: GlobalSet.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/GlobalSet.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -Llib/WebworkSOAP/Classes/GlobalSet.pm -Llib/WebworkSOAP/Classes/GlobalSet.pm -u -r1.2 -r1.3 --- lib/WebworkSOAP/Classes/GlobalSet.pm +++ lib/WebworkSOAP/Classes/GlobalSet.pm @@ -22,22 +22,22 @@ my $self = shift; my $data = shift; $self = {}; - $self->{set_id} = $data->set_id; - $self->{set_header} = $data->set_header; - $self->{hardcopy_header} = $data->hardcopy_header; - $self->{open_date} = $data->open_date; - $self->{due_date} = $data->due_date; - $self->{answer_date} = $data->answer_date; - $self->{published} = $data->published; - $self->{assignment_type} = $data->assignment_type; - $self->{attempts_per_version} = $data->attempts_per_version; - $self->{time_interval} = $data->time_interval; - $self->{versions_per_interval} = $data->versions_per_interval; - $self->{version_time_limit} = $data->version_time_limit; - $self->{version_creation_time} = $data->version_creation_time; - $self->{problem_randorder} = $data->problem_randorder; - $self->{version_last_attempt_time} = $data->version_last_attempt_time; - $self->{problems_per_page} = $data->problems_per_page; + $self->{set_id} = SOAP::Data->type( 'string', $data->set_id ); + $self->{set_header} = SOAP::Data->type( 'string', $data->set_header ); + $self->{hardcopy_header} = SOAP::Data->type( 'string', $data->hardcopy_header ); + $self->{open_date} = SOAP::Data->type( 'string', $data->open_date ); + $self->{due_date} = SOAP::Data->type( 'string', $data->due_date ); + $self->{answer_date} = SOAP::Data->type( 'string', $data->answer_date ); + $self->{published} = SOAP::Data->type( 'string', $data->published ); + $self->{assignment_type} = SOAP::Data->type( 'string', $data->assignment_type ); + $self->{attempts_per_version} = SOAP::Data->type( 'string', $data->attempts_per_version ); + $self->{time_interval} = SOAP::Data->type( 'string', $data->time_interval ); + $self->{versions_per_interval} = SOAP::Data->type( 'string', $data->versions_per_interval ); + $self->{version_time_limit} = SOAP::Data->type( 'string', $data->version_time_limit ); + $self->{version_creation_time} = SOAP::Data->type( 'string', $data->version_creation_time ); + $self->{problem_randorder} = SOAP::Data->type( 'string', $data->problem_randorder ); + $self->{version_last_attempt_time} = SOAP::Data->type( 'string', $data->version_last_attempt_time ); + $self->{problems_per_page} = SOAP::Data->type( 'string', $data->problems_per_page ); bless $self; return $self; } Index: Password.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/Password.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -Llib/WebworkSOAP/Classes/Password.pm -Llib/WebworkSOAP/Classes/Password.pm -u -r1.2 -r1.3 --- lib/WebworkSOAP/Classes/Password.pm +++ lib/WebworkSOAP/Classes/Password.pm @@ -10,8 +10,8 @@ my $self = shift; my $data = shift; $self = {}; - $self->{user_id} = $data->user_id; - $self->{password} = $data->password; + $self->{user_id} = SOAP::Data->type( 'string', $data->user_id ); + $self->{password} = SOAP::Data->type( 'string', $data->password ); bless $self; return $self; } Index: UserSet.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/UserSet.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -Llib/WebworkSOAP/Classes/UserSet.pm -Llib/WebworkSOAP/Classes/UserSet.pm -u -r1.2 -r1.3 --- lib/WebworkSOAP/Classes/UserSet.pm +++ lib/WebworkSOAP/Classes/UserSet.pm @@ -25,24 +25,24 @@ my $self = shift; my $data = shift; $self = {}; - $self->{user_id} = $data->user_id; - $self->{set_id} = $data->set_id; - $self->{psvn} = $data->psvn; - $self->{set_header} = $data->set_header; - $self->{hardcopy_header} = $data->hardcopy_header; - $self->{open_date} = $data->open_date; - $self->{due_date} = $data->due_date; - $self->{answer_date} = $data->answer_date; - $self->{published} = $data->published; - $self->{assignment_type} = $data->assignment_type; - $self->{attempts_per_version} = $data->attempts_per_version; - $self->{time_interval} = $data->time_interval; - $self->{versions_per_interval} = $data->versions_per_interval; - $self->{version_time_limit} = $data->version_time_limit; - $self->{version_creation_time} = $data->version_creation_time; - $self->{problem_randorder} = $data->problem_randorder; - $self->{version_last_attempt_time} = $data->version_last_attempt_time; - $self->{problems_per_page} = $data->problems_per_page; + $self->{user_id} = SOAP::Data->type( 'string', $data->user_id ); + $self->{set_id} = SOAP::Data->type( 'string', $data->set_id ); + $self->{psvn} = SOAP::Data->type( 'string', $data->psvn ); + $self->{set_header} = SOAP::Data->type( 'string', $data->set_header ); + $self->{hardcopy_header} = SOAP::Data->type( 'string', $data->hardcopy_header ); + $self->{open_date} = SOAP::Data->type( 'string', $data->open_date ); + $self->{due_date} = SOAP::Data->type( 'string', $data->due_date ); + $self->{answer_date} = SOAP::Data->type( 'string', $data->answer_date ); + $self->{published} = SOAP::Data->type( 'string', $data->published ); + $self->{assignment_type} = SOAP::Data->type( 'string', $data->assignment_type ); + $self->{attempts_per_version} = SOAP::Data->type( 'string', $data->attempts_per_version ); + $self->{time_interval} = SOAP::Data->type( 'string', $data->time_interval ); + $self->{versions_per_interval} = SOAP::Data->type( 'string', $data->versions_per_interval ); + $self->{version_time_limit} = SOAP::Data->type( 'string', $data->version_time_limit ); + $self->{version_creation_time} = SOAP::Data->type( 'string', $data->version_creation_time ); + $self->{problem_randorder} = SOAP::Data->type( 'string', $data->problem_randorder ); + $self->{version_last_attempt_time} = SOAP::Data->type( 'string', $data->version_last_attempt_time ); + $self->{problems_per_page} = SOAP::Data->type( 'string', $data->problems_per_page ); bless $self; return $self; } Index: UserProblem.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/UserProblem.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -Llib/WebworkSOAP/Classes/UserProblem.pm -Llib/WebworkSOAP/Classes/UserProblem.pm -u -r1.2 -r1.3 --- lib/WebworkSOAP/Classes/UserProblem.pm +++ lib/WebworkSOAP/Classes/UserProblem.pm @@ -19,18 +19,18 @@ my $self = shift; my $data = shift; $self = {}; - $self->{user_id} = $data->user_id; - $self->{set_id} = $data->set_id; - $self->{problem_id} = $data->problem_id; - $self->{source_file} = $data->source_file; - $self->{value} = $data->value; - $self->{max_attempts} = $data->max_attempts; - $self->{problem_seed} = $data->problem_seed; - $self->{status} = $data->status; - $self->{attempted} = $data->attempted; - $self->{last_answer} = $data->last_answer; - $self->{num_correct} = $data->num_correct; - $self->{num_incorrect} = $data->num_incorrect; + $self->{user_id} = SOAP::Data->type( 'string', $data->user_id ); + $self->{set_id} = SOAP::Data->type( 'string', $data->set_id ); + $self->{problem_id} = SOAP::Data->type( 'string', $data->problem_id ); + $self->{source_file} = SOAP::Data->type( 'string', $data->source_file ); + $self->{value} = SOAP::Data->type( 'string', $data->value ); + $self->{max_attempts} = SOAP::Data->type( 'string', $data->max_attempts ); + $self->{problem_seed} = SOAP::Data->type( 'string', $data->problem_seed ); + $self->{status} = SOAP::Data->type( 'string', $data->status ); + $self->{attempted} = SOAP::Data->type( 'string', $data->attempted ); + $self->{last_answer} = SOAP::Data->type( 'string', $data->last_answer ); + $self->{num_correct} = SOAP::Data->type( 'string', $data->num_correct ); + $self->{num_incorrect} = SOAP::Data->type( 'string', $data->num_incorrect ); bless $self; return $self; } |