serv.getType().setDescription(serviceName);
//Creating input parameters
InputParameterType parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("molecule_id");
ParameterType parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.STRING);
parameterType.setName("String");
inputParameters.add(parameter);
parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("geom_mol2");
parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.URI);
parameterType.setName("URI");
inputParameters.add(parameter);
parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("toppar_main_tgz");
parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.URI);
parameterType.setName("URI");
inputParameters.add(parameter);
parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("toppar_usr_tgz");
parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.URI);
parameterType.setName("URI");
inputParameters.add(parameter);
parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("toppar_mol_str");
parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.URI);
parameterType.setName("URI");
inputParameters.add(parameter);
parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("molecule_dir_in_tgz");
parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.URI);
parameterType.setName("URI");
inputParameters.add(parameter);
parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("GC_UserName");
parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.STRING);
parameterType.setName("String");
inputParameters.add(parameter);
parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("GC_ProjectName");
parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.STRING);
parameterType.setName("String");
inputParameters.add(parameter);
parameter = InputParameterType.Factory.newInstance();
parameter.setParameterName("GC_WorkflowName");
parameterType = parameter.addNewParameterType();
parameterType.setType(DataType.STRING);
parameterType.setName("String");
inputParameters.add(parameter);
//Creating output parameters
OutputParameterType outputParameter = OutputParameterType.Factory.newInstance();
outputParameter.setParameterName("opt_freq_input_gjf");
ParameterType outputParaType = outputParameter.addNewParameterType();
outputParaType.setType(DataType.URI);
outputParaType.setName("URI");
outputParameters.add(outputParameter);
outputParameter = OutputParameterType.Factory.newInstance();
outputParameter.setParameterName("charmm_miminized_crd");
outputParaType = outputParameter.addNewParameterType();
outputParaType.setType(DataType.URI);
outputParaType.setName("URI");
outputParameters.add(outputParameter);
outputParameter = OutputParameterType.Factory.newInstance();
outputParameter.setParameterName("step1_log");
outputParaType = outputParameter.addNewParameterType();
outputParaType.setType(DataType.URI);
outputParaType.setName("URI");
outputParameters.add(outputParameter);
outputParameter = OutputParameterType.Factory.newInstance();
outputParameter.setParameterName("molecule_dir_out_tgz");
outputParaType = outputParameter.addNewParameterType();
outputParaType.setType(DataType.URI);
outputParaType.setName("URI");
outputParameters.add(outputParameter);
outputParameter = OutputParameterType.Factory.newInstance();
outputParameter.setParameterName("gcvars");
outputParaType = outputParameter.addNewParameterType();
outputParaType.setType(DataType.URI);
outputParaType.setName("URI");
outputParameters.add(outputParameter);
//Setting input and output parameters to serviceDescriptor
serv.getType().setInputParametersArray(inputParameters.toArray(new InputParameterType[]{}));
serv.getType().setOutputParametersArray(outputParameters.toArray(new OutputParameterType[]{}));