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");