private String runExperimentGeneral(Workflow workflowObj, List<WorkflowInput> inputs, ExperimentAdvanceOptions options, EventDataListener listener) throws AiravataAPIInvocationException {
try {
String workflowString = XMLUtil.xmlElementToString(workflowObj.toXML());
List<WSComponentPort> ports = getWSComponentPortInputs(workflowObj);
for (WorkflowInput input : inputs) {
WSComponentPort port = getWSComponentPort(input.getName(),
ports);
if (port != null) {
port.setValue(input.getValue());
}
}
List<NameValue> inputValues = new ArrayList<NameValue>();
for (WSComponentPort port : ports) {
NameValue nameValue = new NameValue();
nameValue.setName(port.getName());
if (port.getValue() == null) {
nameValue.setValue(port.getDefaultValue());
} else {
nameValue.setValue(port.getValue().toString());
}
inputValues.add(nameValue);
}
String experimentID=options.getCustomExperimentId();
String workflowTemplateName = workflowObj.getName();