@@ -101,7 +101,7 @@ let gen_to_xmlrpc api tys = block
101101(* * Generate code to marshal from the given datamodel type to XML-RPC. *)
102102let ty_of_xmlrpc api ty =
103103 let alias_of_ty_param t = " (" ^ (alias_of_ty t)^ " param)" in
104- let wrap var_binding b = " fun " ^ var_binding ^ " -> try (" ^ b^ " ) with _ -> raise (Api_errors.Server_error (Api_errors.field_type_error,[param]))" in
104+ let wrap var_binding b = " fun " ^ var_binding ^ " -> try (" ^ b^ " ) with _ -> log_backtrace (); raise (Api_errors.Server_error (Api_errors.field_type_error,[param]))" in
105105 let f = match ty with
106106 | Bool -> wrap " xml" " From.boolean xml"
107107 | DateTime -> wrap " xml" " From.datetime xml"
@@ -110,7 +110,7 @@ let ty_of_xmlrpc api ty =
110110 wrap " xml"
111111 (" \n match String.lowercase (From.string xml) with\n " ^
112112 String. concat " \n | " (List. map aux cs)^
113- " \n | _ -> raise (RunTimeTypeError(\" " ^ name^ " \" , xml))" )
113+ " \n | _ -> log_backtrace(); raise (RunTimeTypeError(\" " ^ name^ " \" , xml))" )
114114 | Float -> wrap " xml" " From.double xml"
115115 | Int -> wrap " xml" " Int64.of_string(From.string xml)"
116116 | Map (key , value ) ->
@@ -147,7 +147,7 @@ let ty_of_xmlrpc api ty =
147147 DT. Set (DT. Ref _ ) -> Some (DT. VSet [] )
148148 | _ -> fld.DT. default_value in
149149 match default_value with
150- None -> " (my_assoc \" " ^ field_name ^ " \" all)"
150+ None -> " (my_assoc \" " ^ field_name ^ " \" all)"
151151 | Some default ->
152152 Printf. sprintf " (if (List.mem_assoc \" %s\" all) then (my_assoc \" %s\" all) else %s)"
153153 field_name field_name
0 commit comments