public static HttpRequest GetQueryRequest(string query, int limit, ZuoraSession session) { HttpRequest request = new HttpRequest { Url = session.InstanceUrl + session.SoapUrl, Body = SoapCommands.Query(query, limit, session.SessionId), Method = RequestType.POST, }; request.Headers.Add("SOAPAction", "query"); return(request); }
public static HttpRequest GetCrudRequest <T>(CrudOperation <T> operation, ZuoraSession session) where T : ZObject { string body = SoapCommands.CrudOperation(operation, session.SessionId); HttpRequest request = new HttpRequest { Url = session.InstanceUrl + session.SoapUrl, Body = body, Method = RequestType.POST, }; request.Headers.Add("SOAPAction", operation.OperationType.ToString().ToLower()); return(request); }
public static HttpRequest GetCreateExportRequest(string query, ZuoraSession session, string name = "Export") { HttpRequest request = new HttpRequest { Url = session.InstanceUrl + session.SoapUrl, Body = ExportCommands.CreateExport(new Export { Format = "csv", Name = name, Query = query }, session.SessionId), Method = RequestType.POST, }; request.Headers.Add("SOAPAction", "create"); return(request); }
/// <summary> /// Login Action /// - Stores session data for re-use /// </summary> /// <returns></returns> public ZuoraSession Login() { lock (Lock) { ZuoraSession session; if (_config.UseSessionStore) { session = _sessionStore.RetrieveSession(_config.EnvironmentName ?? "Default"); if (session != null) { return(session); } } if (_config.Session != null) { return(_config.Session); } using (HttpClient httpClient = new HttpClient()) { XmlDocument response = httpClient.PerformRequest(SoapRequestManager.GetLoginRequest(_config)); SimpleLogin result = ResponseReader.ReadGenericResponse <SimpleLogin>(response); Uri instanceUrl = new Uri(result.ServerUrl); session = new ZuoraSession { SoapUrl = _config.SoapUrl, InstanceUrl = instanceUrl.Scheme + "://" + instanceUrl.Host, SessionId = result.SessionId }; if (_config.UseSessionStore) { _sessionStore.StoreSession(session); } _config.Session = session; _config.InstanceUrl = session.InstanceUrl; return(session); } } }
public static HttpRequest GetQueryRequest <T>(Expression <Func <T, bool> > predicate, int limit, ZuoraSession session) where T : ZObject { string query = QueryBuilder.GenerateQuery(predicate); return(GetQueryRequest(query, limit, session)); }