AXISCPP-439 Soap faults fail for primitive types 
diff --git a/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java b/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java
index 27b5619..5b5e38b 100644
--- a/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java
+++ b/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java
@@ -757,6 +757,7 @@
             c_writer.write ("\t\t\tpcCmplxFaultName = pSoapFault->getCmplxFaultObjectName();\n");
         }
         
+        boolean printedIF = false;
         while (paramsFault.hasNext ())
         {
             FaultInfo info = (FaultInfo) paramsFault.next ();
@@ -779,7 +780,6 @@
             }                          
     
             ArrayList paramInfo = info.getParams ();
-            boolean printedIF = false;
             for (int i = 0; i < paramInfo.size (); i++)
             {
                 ParameterInfo par = (ParameterInfo) paramInfo.get (i);
@@ -806,12 +806,18 @@
         
         if (flag == true)
         {
-            c_writer.write ("\t\t\telse\n");
-            c_writer.write ("\t\t\t{\n");
+            String tab = "";
+            if (printedIF)
+            {
+                c_writer.write ("\t\t\telse\n");
+                c_writer.write ("\t\t\t{\n");
+                tab = "\t";
+            }
             
-            writeOtherFaultException("\t");
+            writeOtherFaultException(tab);
 
-            c_writer.write ("\t\t\t}\n");
+            if (printedIF)
+                c_writer.write ("\t\t\t}\n");
         }
         
         c_writer.write ("\t\t}\n");