THRIFT-3360 Improve cross test servers and clients further

This closes #629
diff --git a/test/hs/Makefile.am b/test/hs/Makefile.am
index e171248..b41a391 100644
--- a/test/hs/Makefile.am
+++ b/test/hs/Makefile.am
@@ -39,3 +39,5 @@
 all-local: stubs
 	ghc -igen-hs TestServer.hs
 	ghc -igen-hs TestClient.hs
+
+precross: all-local
diff --git a/test/hs/TestServer.hs b/test/hs/TestServer.hs
index a880a5e..90ec11e 100755
--- a/test/hs/TestServer.hs
+++ b/test/hs/TestServer.hs
@@ -235,7 +235,7 @@
     System.IO.putStrLn $ "testMultiException(" ++ show s1 ++ ", " ++ show s2 ++  ")"
     case s1 of
       "Xception"   -> throw $ Xception 1001 "This is an Xception"
-      "Xception2"  -> throw $ Xception2 2002 default_Xtruct
+      "Xception2"  -> throw $ Xception2 2002 $ Xtruct "This is an Xception2" 0 0 0
       "TException" -> throw ThriftException
       _ -> return default_Xtruct{ xtruct_string_thing = s2 }