public override void OnActionExecuting(HttpActionContext actionExecutedContext) { IEnumerable <string> headerValues = actionExecutedContext.Request.Headers.GetValues("Autherize"); string token = headerValues.FirstOrDefault(); //Parameters string baseUrl = ConfigurationManager.AppSettings["authenticationBaseUrl"]; string postUrl = ConfigurationManager.AppSettings["authenticationPostUrl"]; RemoteServiceCall remoteCall = new RemoteServiceCall(); dynamic result = remoteCall.restApiCall(baseUrl, postUrl, RType.POST, new { uID = "", key = "", token = token, }); string output = Convert.ToString(result); if (output == null || output == "") { actionExecutedContext.Response = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized); } else { } }
/// <summary> /// Execute the service /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void runToolStripMenuItem1_Click(object sender, EventArgs e) { try { // Re-register the client every time, incase it's kicked connection.Register(); var ip = queriedService.Ip; var port = queriedService.Port; try { queriedService = connection.QueryService(serviceTag).Service; } catch (Exception) { throw new Exception("Service is no longer registered"); } var serviceConnection = new ServiceConnection(Program.Logger, teamName, ip, port, false, connection.TeamId); var call = new RemoteServiceCall(queriedService.Name, teamName, (int)connection.TeamId); int i = 1; foreach (DataGridViewRow row in argGrid.Rows) { var argName = row.Cells[0].Value.ToString(); var argDataType = ServiceArgument.TypeFromString(row.Cells[1].Value.ToString()); var argMandatory = row.Cells[2].Value.ToString().Equals("true", StringComparison.CurrentCultureIgnoreCase); var argValue = row.Cells[3].Value.ToString(); // Are we mandatory or do we have a value? if (argMandatory || !String.IsNullOrWhiteSpace(argValue)) { if (String.IsNullOrWhiteSpace(argValue)) { throw new FormatException("Please enter a value for: " + argName); } try { switch (argDataType) { case ServiceDataType.Tint: int.Parse(argValue); break; case ServiceDataType.Tdouble: double.Parse(argValue); break; case ServiceDataType.Tfloat: float.Parse(argValue); break; case ServiceDataType.Tchar: if (argValue.Length > 1) { throw new FormatException("Char field must be 1 character"); } break; case ServiceDataType.Tshort: short.Parse(argValue); break; case ServiceDataType.Tlong: long.Parse(argValue); break; default: break; } } catch (Exception) { throw new FormatException("Please enter a proper value for: " + argName); } } var arg = new ServiceArgument(i++, argName, argDataType, argMandatory); arg.Value = argValue; call.Args.Add(arg); } i = 1; foreach (DataGridViewRow row in respGrid.Rows) { var respName = row.Cells[0].Value.ToString(); var respDataType = ServiceArgument.TypeFromString(row.Cells[1].Value.ToString()); var respValue = ""; var ret = new ServiceReturn(i++, respName, respDataType, respValue); call.Returns.Add(ret); } var executeResponse = serviceConnection.ExecuteService(call); foreach (var ret in executeResponse.Returned.Returns) { foreach (DataGridViewRow row in respGrid.Rows) { var respName = row.Cells[0].Value.ToString(); if (respName == ret.Name) { var respDataType = ServiceArgument.TypeFromString(row.Cells[1].Value.ToString()); row.Cells[2].Value = ret.Value; break; } } } } catch (Exception ex) { MessageBox.Show("Error executing service, because: " + ex.Message); } }