public static WbapResponse Invoke(WbapRequest request, string sessionId) { PageController pageController = new PageController(request.PageName, sessionId); pageController.SetRequestData(request.ElementBinds); Wbap wbap = new Wbap(pageController); wbap.ISecHandler = _ISec; string pageName = request.PageName; string actionId = request.ActionId; WbapResponse wbapResponse = null; if (string.IsNullOrEmpty(actionId) || actionId.Equals("Initialize", StringComparison.OrdinalIgnoreCase)) { wbapResponse = wbap.Initialize(pageName, sessionId); } else { wbapResponse = new WbapResponse(); ActionBroker action = wbap.GetAction(request, ref wbapResponse, pageName, sessionId, _ISec); if (action != null) { wbapResponse = action.Execute(); } } return(wbapResponse); }
public object Invoke(string sessionId, WbdlSchema wbdlSchema, WbapRequest request) { Object[] parameters = new Object[methodSchema.Parameters.Count]; for (int j = 0; j < methodSchema.Parameters.Count; j++) { ParameterSchema paramSchema = methodSchema.Parameters[j]; object paramValue = null; if (string.IsNullOrEmpty(paramSchema.Value)) { parameters[j] = null; continue; } if (paramSchema.Value[0] == '#') { paramValue = request.ElementBinds.GetTable(paramSchema.Value.Remove(0, 1), wbdlSchema); } else if (paramSchema.Value[0] == '$') { paramValue = request.ElementBinds[paramSchema.Value]; } else { paramValue = paramSchema.Value; } parameters[j] = paramValue; } Object invokeRet = Umc.InvokeFunction(sessionId, null, methodSchema.MethodName, parameters); return(invokeRet); }
public static WbapResponse Invoke(Stream streamRequest, string sessionId) { StreamReader reader = new StreamReader(streamRequest); string textRequest = reader.ReadToEnd(); reader.Close(); WbapRequest request = DeserializeRequest(textRequest); return(Invoke(request, sessionId)); }
/// <summary> /// 构造函数 /// </summary> public ActionBroker(WbapRequest wbapRequest, ActionFlowSchema actionSchema, PageController pageController, string sessionId, WbdlSchema schema, ISecurity secHandler) { request = wbapRequest; _ActionSchema = actionSchema; this.pageController = pageController; this.sessionId = sessionId; this.schema = schema; // this.Logger = new XLogging.XLoggingService(); _ISec = secHandler; actionId = wbapRequest.ActionId; //在开始已经update // UpdatePage(wbapRequest); }
/// <summary> /// 构造函数 /// </summary> public static WbapResponse Invoke(string textRequest, string sessionId) { WbapRequest request = DeserializeRequest(textRequest); return(Invoke(request, sessionId)); }