@SuppressWarnings("unchecked")
	public ServiceMethod(Node node) throws Exception {
				
		String className = Utilities.selectSingleText(node, "./@c:class", XMLLabels.STANDARD_NAMESPACES);
		logger.debug("Method class: " + className);

		this.append = Utilities.selectSingleText(node, "./@c:appendToUrl", XMLLabels.STANDARD_NAMESPACES);
		if(!Utilities.isNullOrWhitespace(this.append)) {
			logger.debug("Found appended fragment: " + this.append);
		}

		ClassLoader loader = ClassLoader.getSystemClassLoader();
		if(loader != null) {
			try {
				Class<?> cls = loader.loadClass(className);
				if(cls != null && Request.class.isAssignableFrom(cls)) {
					if(cls.isAnnotationPresent(ServiceDecloration.class)) {
						this.clazz = (Class<? extends Request>) cls;
						ServiceDecloration decl = cls.getAnnotation(ServiceDecloration.class);
						this.respClass = decl.response();
						this.name = decl.name();
						logger.debug("Found the response class: " + this.respClass.getName());
					} else {
						logger.warn("Service \'" + className + "\' was found, but there was no ServiceDecloration annotation.");
					}
				}
			} catch(ClassNotFoundException e) {
				logger.warn("Service \'" + className + "\' was not found.");
			}
		}
		
		if(this.clazz == null) {
			logger.warn("Unable to load class \'" + className + "\' from the default class loader. Are you missing the folder reference?");
		}
	}