public string TransactionService(TransactionRequest request) { return(InvokeRequestResponseService(request).Result); }
static async Task <string> InvokeRequestResponseService(TransactionRequest request) { string res = ""; using (var client = new HttpClient()) { var scoreRequest = new { Inputs = new Dictionary <string, StringTable>() { { "input1", new StringTable() { ColumnNames = new string[] { "Card Number" , "Funding Account Number" , "Customer ID" , "Posted Amount (USD)" , "Authorization Amount (USD)" , "Txn Timestamp" , "Authorization Timestamp" , "Txn_Type" , "Reference Number" , "Issuer Country" , "Merchant Country" , "Issuer Currency Code" , "Merchant Currency Code" , "Merchant Name" , "Merchant Category Code" , "Network ID" , "POS Entry Mode" , "POS Entry Mode on Auth" , "POS Environment" , "Service Code" , "MOTO_ECI_Ind" , "Physical Card Present" , "Terminal Indicator" , "Terminal capability code" , "Cardholder ID Method" , "RPS Ind" , "UCAF" , "Floor Limit" , "CVV2 Result" , "CAVV Result" , "Pin Present ?" , "Acquirer BIN" , "Card Acceptor ID" , "Multi Clearing" , "Authorization code" , "Case id" , "Dispute Amount (USD)" , "On Us" , "Fraud Reported" , "Dispute" , "Decision Type" , "Chargeback Attempt" , "Recovered" , "Dispute Category" , "Customer Initiated Dispute" , "Reconsidered Dispute" , "RFC Fulfilled" , "Merchant Credit Resolve" , "Representment Indicator" , "Dispute Alert Subscription" , "Potential Dispute Alert to Customer" , "Potential Dispute Alert to Back Office" , "Potential Dispute Alert Overridden by Customer" , "Potential Dispute Alert Honored by Customer" , "POC" }, Values = new string[, ] { { request.CardNumber , request.FundingAccountNumber , request.CustomerID , request.PostedAmount , request.AuthorizationAmount , request.TxnTimestamp , request.AuthorizationTimestamp , request.Txn_Type , request.ReferenceNumber , request.IssuerCountry , request.MerchantCountry , request.IssuerCurrencyCode , request.MerchantCurrencyCode , request.MerchantName , request.MerchantCategoryCode , request.NetworkID , request.POSEntryMode , request.POSEntryModeonAuth , request.POSEnvironment , request.ServiceCode , request.MOTO_ECI_Ind , request.PhysicalCardPresent , request.TerminalIndicator , request.Terminalcapabilitycode , request.CardholderIDMethod , request.RPSInd , request.UCAF , request.FloorLimit , request.CVV2Result , request.CAVVResult , request.PinPresent , request.AcquirerBIN , request.CardAcceptorID , request.MultiClearing , request.Authorizationcode , request.Caseid , request.DisputeAmount , request.OnUs , request.FraudReported , request.Dispute , request.DecisionType , request.ChargebackAttempt , request.Recovered , request.DisputeCategory , request.CustomerInitiatedDispute , request.ReconsideredDispute , request.RFCFulfilled , request.MerchantCreditResolve , request.RepresentmentIndicator , request.DisputeAlertSubscription , request.PotentialDisputeAlerttoCustomer , request.PotentialDisputeAlerttoBackOffice , request.PotentialDisputeAlertOverriddenbyCustomer , request.PotentialDisputeAlertHonoredbyCustomer , request.POC }, { "value", "value", "value", "0", "0", "", "" , "value", "0", "value", "value", "value" , "0", "value", "0", "value", "value", "value", "value", "0" , "value", "value", "value", "value", "value", "value", "value" , "value", "value", "value", "value", "0", "0", "value", "0" , "0", "0", "value", "value", "value", "value", "value", "value" , "value", "value", "value", "value", "value", "value", "value" , "value", "value", "value", "value", "value" }, } } }, }, GlobalParameters = new Dictionary <string, string>() { } }; const string apiKey = "V6bJKdn0R0Kcu+G8yW6cR9wtmnWJO/x+KOHyNvRVKEd+b5nrzl05C6K6EY1dHEqZRYaRXa1kbc508vsb8OkZtA=="; // Replace this with the API key for the web service client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey); client.BaseAddress = new Uri("https://ussouthcentral.services.azureml.net/workspaces/97483786c0a24d89960516343f205705/services/533d3545aeaf4418900fccca5b9e2f9f/execute?api-version=2.0&details=true"); // WARNING: The 'await' statement below can result in a deadlock if you are calling this code from the UI thread of an ASP.Net application. // One way to address this would be to call ConfigureAwait(false) so that the execution does not attempt to resume on the original context. // For instance, replace code such as: // result = await DoSomeTask() // with the following: // result = await DoSomeTask().ConfigureAwait(false) HttpResponseMessage response = await client.PostAsJsonAsync("https://ussouthcentral.services.azureml.net/workspaces/97483786c0a24d89960516343f205705/services/533d3545aeaf4418900fccca5b9e2f9f/execute?api-version=2.0&details=true", scoreRequest); string result = await response.Content.ReadAsStringAsync(); Console.WriteLine("Result: {0}", result); res = result; //if (response.IsSuccessStatusCode) //{ // string result = await response.Content.ReadAsStringAsync(); // Console.WriteLine("Result: {0}", result); //} //else //{ // Console.WriteLine(string.Format("The request failed with status code: {0}", response.StatusCode)); // // Print the headers - they include the requert ID and the timestamp, which are useful for debugging the failure // Console.WriteLine(response.Headers.ToString()); // string responseContent = await response.Content.ReadAsStringAsync(); // Console.WriteLine(responseContent); //} } return(res); }
public TransactionResult TransactionEvaluate(TransactionRequest request) { return(new TransactionResult { Value = "My Service is working!" }); }