*** C:\Documents and Settings\dicka.new\Local Settings\Temp\TCV578b.tmp\BeanParamWriter.1.56.java 2005-03-08 09:28:30.000000000 -0000
--- C:\development\build\src\ws-axis\c\src\wsdl\org\apache\axis\wsdl\wsdl2ws\cpp\literal\BeanParamWriter.java 2005-03-08 17:03:46.000000000 -0000
***************
*** 397,409 ****
  				}
  				else
  				{
  					writer.write("\t" + attribs[i].getTypeName() + " * " + attribs[i].getParamNameAsMember()+ " = NULL;\n");
  					writer.write("\tif ((" + attribs[i].getParamNameAsMember()+ " = pIWSDZ->"+CUtils.getParameterGetValueMethodName(attribs[i].getTypeName(), attribs[i].isAttribute())+"( \""+ soapTagName +"\",0)) != NULL)\n");
  					writer.write("\t\tparam->"+attribs[i].getParamNameAsMember()+" = *( " + attribs[i].getParamNameAsMember()+" );\n");
!                                         writer.write("\t\tdelete " + attribs[i].getParamNameAsMember()+";\n");
  				}
  			}
  			else
  			{
  				//if complex type
  				//Samisa
--- 397,409 ----
  				}
  				else
  				{
  					writer.write("\t" + attribs[i].getTypeName() + " * " + attribs[i].getParamNameAsMember()+ " = NULL;\n");
  					writer.write("\tif ((" + attribs[i].getParamNameAsMember()+ " = pIWSDZ->"+CUtils.getParameterGetValueMethodName(attribs[i].getTypeName(), attribs[i].isAttribute())+"( \""+ soapTagName +"\",0)) != NULL)\n");
  					writer.write("\t\tparam->"+attribs[i].getParamNameAsMember()+" = *( " + attribs[i].getParamNameAsMember()+" );\n");
! //                                        writer.write("\t\tdelete " + attribs[i].getParamNameAsMember()+";\n");
  				}
  			}
  			else
  			{
  				//if complex type
  				//Samisa
***************
*** 498,540 ****
  			}
  			else
  			{
  				writer.write("\n"+classname+"::~"+classname+"()\n{\n");
  			}
  		writer.write("\t/*delete any pointer and array members here*/\n");
! 		for(int i = 0; i< attribs.length;i++){
! 			if(attribs[i].isArray()){
! 				if ( attribs[i].isSimpleType())
! 				{
! 					writer.write("\tdelete [] (("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
! 				}
! 				else
! 				{
! 					if( isNillable())
! 					{
! 						writer.write("\tdelete "+attribs[i].getParamNameAsMember()+".m_Array;\n");
! 					}
! 					else
! 					{
! 						writer.write("\tdelete [] (("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
! 					}
! 				}
! 			}
! 			else if (attribs[i].isAnyType()){
! 				writer.write("\tif ("+attribs[i].getParamNameAsMember()+") \n\t{ \n");
! 				writer.write("\t\tfor (int i=0; i<"+attribs[i].getParamNameAsMember()+"->_size; i++)\n\t\t{\n");
! 				writer.write("\t\t\tif ("+attribs[i].getParamNameAsMember()+"->_array[i]) delete [] "+attribs[i].getParamNameAsMember()+"->_array[i];\n");
! 				writer.write("\t\t}\n");
! 				writer.write("\t\tdelete "+attribs[i].getParamNameAsMember()+";\n");
! 				writer.write("\t}\n");
! 				
! 			}
! 			else if (!attribs[i].isSimpleType()){
! 				writer.write("\tdelete "+attribs[i].getParamNameAsMember()+";\n");				
! 			}
! 		}			
  		writer.write("}\n");
  		}catch(IOException e){
  			throw new WrapperFault(e);
  		}
  	}	
  	protected void writeRestrictionCheckerFunction() throws WrapperFault {
--- 498,542 ----
  			}
  			else
  			{
  				writer.write("\n"+classname+"::~"+classname+"()\n{\n");
  			}
  		writer.write("\t/*delete any pointer and array members here*/\n");
! 		// Adrian - seeing problems of losing data when clearing up,
! 		// so temporarily remove this section, until such time as a better solution is found
! //		for(int i = 0; i< attribs.length;i++){
! //			if(attribs[i].isArray()){
! //				if ( attribs[i].isSimpleType())
! //				{
! //					writer.write("\tdelete [] (("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
! //				}
! //				else
! //				{
! //					if( isNillable())
! //					{
! //						writer.write("\tdelete "+attribs[i].getParamNameAsMember()+".m_Array;\n");
! //					}
! //					else
! //					{
! //						writer.write("\tdelete [] (("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
! //					}
! //				}
! //			}
! //			else if (attribs[i].isAnyType()){
! //				writer.write("\tif ("+attribs[i].getParamNameAsMember()+") \n\t{ \n");
! //				writer.write("\t\tfor (int i=0; i<"+attribs[i].getParamNameAsMember()+"->_size; i++)\n\t\t{\n");
! //				writer.write("\t\t\tif ("+attribs[i].getParamNameAsMember()+"->_array[i]) delete [] "+attribs[i].getParamNameAsMember()+"->_array[i];\n");
! //				writer.write("\t\t}\n");
! //				writer.write("\t\tdelete "+attribs[i].getParamNameAsMember()+";\n");
! //				writer.write("\t}\n");
! //				
! //			}
! //			else if (!attribs[i].isSimpleType()){
! //				writer.write("\tdelete "+attribs[i].getParamNameAsMember()+";\n");				
! //			}
! //		}			
  		writer.write("}\n");
  		}catch(IOException e){
  			throw new WrapperFault(e);
  		}
  	}	
  	protected void writeRestrictionCheckerFunction() throws WrapperFault {
