@Override
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

		HttpSession sess = request.getSession(false);

		String reqURI = request.getRequestURI() ;
		AccessPointName apn = this.ni.inspect(reqURI);
		log.debug("Request url: " + reqURI);
		if (StringUtils.isNotEmpty(apn.moduleName)) {
			log.debug("Module Name: " + apn.moduleName);
			log.debug("Access Point: " +apn.accessPoint);
			try {
				AccessModule ada = AccessModule.Helper.lookupModule(apn.moduleName);//lookupModule(moduleName);
				//ada.setPermAccessorBean(pab);
				if (ada != null) {
					Method m = AccessModule.Helper.lookupAccessPoint(ada, apn.accessPoint) ;//lookupMethod(ada.getClass(), ap);
					if (m != null) {
						ByClassParameterBinder binder = new ByClassParameterBinder();
						binder.add(request).add(response);
						binder.add(new HttpParameterMap(request.getParameterMap()));
						Object[] params = binder.lookupParams(m);
						try {
							Object obj = m.invoke(ada, params);
							if (obj != null) {
								response.setStatus(200);
								response.getWriter().print(obj.toString());
							}
						} catch (IllegalArgumentException e) {
							log.error(e);
							responseInternalError(response);
						} catch (InvocationTargetException e) {
							log.error(e);
							responseInternalError(response);
						}
					} else {
						responseAPNotFound(response);
					}
				} else {
					responseModuleNotFound(response);
				}
			} catch (ClassNotFoundException e) {
				log.debug("Module Not Found: " + "\n", e);
				responseModuleNotFound(response);
			} catch (InstantiationException e) {
				log.error(e);
				responseInternalError(response);
			} catch (IllegalAccessException e) {
				log.error(e);
				responseInternalError(response);
			}
		}
	}