public NeosJob submitJob(String jobXML) {
		if (server == null)
			return null;

		Vector params = new Vector();
		params.add(jobXML);

		Integer jobNo = 0;
		String jobPass = "";

		String result = "";

		try {

			Object[] results = (Object[]) server.execute("submitJob", params,
					5000);

			jobNo = (Integer) results[0];
			jobPass = (String) results[1];

			params = new Vector();
			params.add(jobNo);
			params.add(jobPass);

			Object retval = server.execute("getFinalResults", params);

			if (retval instanceof String) {
				result = (String) retval;
			} else if (retval instanceof byte[]) {
				result = (new String((byte[]) retval));

			}

		} catch (XmlRpcException e) {
			System.err.println("Error submitting job\n" + e.getMessage());
			return null;
		}

		NeosJob job = new NeosJob();
		job.setJobNo(jobNo);
		job.setJobPass(jobPass);
		job.setResult(result);

		return job;
	}