2. Once the service has been added to the project you can now program against the service using its request and response classes. NOTE: The xAIgent Service exposes two methods for the developer:  
                        GetExtraction - The following discussion illustrates how to incorporate the xAIgent service in to a Visual Studio project. PLEASE NOTE: The sample code presented here is taken from the sample projects available for download at the bottom of this page.
                        GetTokenStatus - Requires a TokenStatusRequest object and Returns a TokenStatusResult object. For more information on the GetTokenStatus method please review the sample application download below.
                        The following code is taken from the sample application available for download below that submits text from a text box and parses the response in to a second text box ...
                        C Sharp sample:
                        //Create an instance of the xAIgent restful service 
                        xAIgentService.DBIXServiceClient myxAIgentService = new xAIgentService.DBIXServiceClient(); 
                        //Create an instance of the xAIgent request 
                        xAIgentService.ExtractionRequest myxAIgentRequest = new xAIgentService.ExtractionRequest(); 
                        //Create an instance of the xAIgent result 
                        xAIgentService.ExtractionResult myxAIgentResponse = new xAIgentService.ExtractionResult(); 
                        //Set the application ID to identify the application calling the xAIgent service 
                        myxAIgentRequest.ApplicationID = "xAIgent C# sample";  
                        //Set the language for the document to be extracted to Auto Detect. NOTE: This does not work with Japanese or Korean
                        myxAIgentRequest.LanguageID = 0;
                        box try
                        {
                        //Run the xAIgent Service to extract the text and return the key phrases.
                        myxAIgentResponse = myxAIgentService.GetExtraction(myxAIgentRequest); 
                        int myResultsCounter = 1;
                        this.TextBoxResults.Text = "";
                        if (myxAIgentResponse.KeyPhrases.Count() > 0)
                        {
                        //Process each key phrase object in the response.
                        foreach (xAIgentService.KeyPhrase keyPhrase2Process in myxAIgentResponse.KeyPhrases)
                        {
                        keyPhrase2Process.Phrase = keyPhrase2Process.Phrase.ToUpper();
                        keyPhrase2Process.Highlight = keyPhrase2Process.Highlight;
                        //Output the keyphrase object to the results text box.
                        this.TextBoxResults.Text = this.TextBoxResults.Text + myResultsCounter.ToString() + ". " + keyPhrase2Process.Phrase +     System.Environment.NewLine + _
                        "Score: " + keyPhrase2Process.Score.ToString() + System.Environment.NewLine + _
                        "Highlight: " + keyPhrase2Process.Highlight + System.Environment.NewLine + System.Environment.NewLine;
                        myResultsCounter = myResultsCounter + 1;
                        }
                        }
                        else
                        this.TextBoxResults.Text = "No Results were returned.";
                        }
                        catch (Exception ex)
                        {
                        this.TextBoxResults.Text = ex.Message.ToString();
                        }
                        VB.NET sample:
                        
                            Dim myxAIgentService As New xAIgentService.DBIXServiceClient 'Create an instance of the xAIgent restful service
                            
                            Dim myxAIgentRequest As New xAIgentService.ExtractionRequest 'Create an instance of the xAIgent request
                            
                            Dim myxAIgentResponse As New xAIgentService.ExtractionResult 'Create an instance of the xAIgent result
                            
                            myxAIgentRequest.ApplicationID = "xAIgent VB.NET sample" 'Set the application ID to identify the application calling the xAIgent service
                            
                            myxAIgentRequest.LanguageID = 0 'Set the language for the document to be extracted to Auto Detect. NOTE: This does not work with Japanese or Korean
                        
                        myxAIgentRequest.NumberOfPhrasesToReturn = 5 'Set the number of phrases to return
                        myxAIgentRequest.SubscriptionID = "Your Subscription ID" 'Set the Subscription ID for authentication to use the xAIgent service
                        myxAIgentRequest.XTractionDocument = Me.TextBoxExtractee.Text 'Set the document for extraction to the text in the TextBoxExtractee text box 
                            
                            Try
                        
                        myxAIgentResponse = myxAIgentService.GetExtraction(myxAIgentRequest) 'Run the xAIgent Service to extract the text and return the key phrases.
                        Dim myResultsCounter As Integer = 1
                        Me.TextBoxResults.Text = ""
                        If myxAIgentResponse.KeyPhrases.Count > 0 Then
                        'Process each key phrase object in the response.
                        Dim keyPhrase2Process As xAIgentService.KeyPhrase
                        For Each keyPhrase2Process In myxAIgentResponse.KeyPhrases
                        keyPhrase2Process.Phrase = keyPhrase2Process.Phrase.ToUpper
                        keyPhrase2Process.Highlight = keyPhrase2Process.Highlight.ToCharArray()
                        'Output the keyphrase object to the results text box.
                        Me.TextBoxResults.Text = Me.TextBoxResults.Text & myResultsCounter.ToString & ". " & keyPhrase2Process.Phrase & vbCrLf & _
                        "Score: " & keyPhrase2Process.Score.ToString & vbCrLf & _
                        "Highlight: " & keyPhrase2Process.Highlight & vbCrLf & vbCrLf
                        myResultsCounter = myResultsCounter + 1
                        Next
                        Else
                        Me.TextBoxResults.Text = "No Results were returned."
                            
                            End If
                        Catch ex As Exception
                        Me.TextBoxResults.Text = ex.Message.ToString()
                        End Try
                        React js Sample:
                        A React implementation of the xAIgent service requires the creation of a Restful Service wrapper that Java based environments can consume as Request/Response.  In the sample below, the xAIgent has been interfaced using an ASP.NET MVC implementation of the xAIgent to a Restful presentation of the Service … dbiXServiceAPI. The dbiXServiceAPI source code can be found in the React js source code download below in the “dbiXserviceAPI Source.docx file”.  For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
                        NOTE: The ASP.MVC implementation is not the only way to implement a SOAP service in to Java, alternatively the developer may choose to generate JavaScript code from the xAIgent WSDL file, and then use that generated code in your React.js application.
                        dbiXserviceAPI source file
                        
                            using dbiXServiceAPI.Request;
                            
                            using dbiXServiceAPI.Response;
                            using Microsoft.AspNetCore.Mvc;
                            using Microsoft.VisualBasic;
                            namespace dbiXServiceAPI.Controllers
                            {
                        
                        [Route("api/[controller]")]
                        [ApiController]
                        public class AppDemoController : ControllerBase
                            
                            {
                        
                            private int AuthCode { get; set; }
                            // Hook to the dbiXServiceAPI that wraps the xAIgent service
                            private xAIEngine.DBIXServiceClient myXAIgent;
                            private Random myRandomGen = new Random(System.Convert.ToInt32(DateTime.Now.TimeOfDay.TotalSeconds));
                            Random(System.Convert.ToInt32(DateTime.Now.TimeOfDay.TotalSeconds));
                        
                            // Get the next Authorization Number to validate.
                            [HttpGet("/api/GetAuth")]
                            public async Task <BaseResponse<AuthorizeResponse>> Get()
                            {
                        
                        
                            int myValue2Authorize = myRandomGen.Next(100000000);
                            int myValue4FileName = myRandomGen.Next(100000000);
                            BaseResponse<authorizeresponse>
                                baseResponse = new BaseResponse<authorizeresponse>();
                                    AuthorizeResponse authorizeResponse = new AuthorizeResponse();
                                    authorizeResponse.Authorize = myValue2Authorize;
                                    AuthCode = myValue2Authorize;
                                    baseResponse.Data = authorizeResponse;
                                    baseResponse.Code = "200";
                                    baseResponse.Success = true;
                                    baseResponse.Message = "Operation Successfully";
                                    return (baseResponse);
                        
                        
                            }
                            // Send the xAIgent Request to the dbiXServiceAPI
                            [HttpPost("/api/AppDemo")]
                            public async Task<BaseResponse<AppDemoReponse>> Post([FromBody] AppDemoRequest request)
                            {
                        
                        
                            string responseText = "";
                            BaseResponse<appdemoreponse>
                                baseResponse = new BaseResponse<appdemoreponse>();
                                    AppDemoReponse reponseAppDamo = new AppDemoReponse();
                                    try
                                    {
                        
                        
                            myXAIgent = new xAIEngine.DBIXServiceClient();
                            if (AuthCode == request.AuthCode)  // If the user enters the correct Auth Code
                            {
                        
                        
                            xAIEngine.GetExtractionRequest myGetExtractionRequest = new xAIEngine.GetExtractionRequest();
                            xAIEngine.ExtractionRequest myExtractionRequest = new xAIEngine.ExtractionRequest();
                            xAIEngine.GetExtractionResponse myExtractionResponse;
                            myExtractionRequest.ApplicationID = "xaigent.azurewebsites.net/DemoApp";
                            myExtractionRequest.XTractionDocument = request.XTractionDocument;
                            
                            myExtractionRequest.LanguageID = request.languageId;
                            myExtractionRequest.NumberOfPhrasesToReturn = request.NumberOfPhrasesToReturn;
                            myExtractionRequest.SubscriptionID = "Insert your xAIgent Evaluation Token Here";
                            myGetExtractionRequest.XtractionRequest = myExtractionRequest;
                            myExtractionResponse = await myXAIgent.GetExtractionAsync(myGetExtractionRequest);
                            int myResultsCounter = 1;
                            // If the xAIgent returns a list of keyphrases, print out each one …
                            if (myExtractionResponse.GetExtractionResult.KeyPhrases.Length > 0)
                            {
                        
                        
                            foreach (var keyPhrase2Display in myExtractionResponse.GetExtractionResult.KeyPhrases)
                            {
                            // keyPhrase2Display.Phrase = keyPhrase2Display.Phrase
                            keyPhrase2Display.Phrase = keyPhrase2Display.Phrase.ToUpper();
                            keyPhrase2Display.Highlight = keyPhrase2Display.Highlight;
                            responseText = responseText + myResultsCounter.ToString() + ". " + keyPhrase2Display.Phrase + Constants.vbCrLf + "Score: " + keyPhrase2Display.Score.ToString() + Constants.vbCrLf + "Highlight: " + keyPhrase2Display.Highlight + Constants.vbCrLf + Constants.vbCrLf;
                            myResultsCounter = myResultsCounter + 1;
                            }
                            }
                            else
                            {
                            responseText = "No Results were-returned";
                            }
                            }
                            else  // The user entered the wrong Auth Code
                            {
                            baseResponse.Success = true;
                            baseResponse.Message = "un authorization";
                            baseResponse.Data = reponseAppDamo;
                            baseResponse.Code = "400";
                            reponseAppDamo.ResponseText = null;
                            return baseResponse;
                            }
                            baseResponse.Success = true;
                            baseResponse.Message = "Operation Complete";
                            baseResponse.Data = reponseAppDamo;
                            baseResponse.Code = "200";
                            reponseAppDamo.ResponseText = responseText;
                            }
            catch (Exception ex)
                            {
                responseText = ex.Message.ToString();
                            baseResponse.Success = false;
                            baseResponse.Message = responseText;
                            }
                        
                        
                            return baseResponse;
                            }
                        
                        
                            // Get the selected Language …
                            [HttpGet("/api/GetLanguage")]
                            public async Task <BaseResponse<List<LanguageResponse>>> GetLanguages()
                            {
                            BaseResponse <List<LanguageResponse>> baseResponse = new BaseResponse <List<LanguageResponse>>();
                            List <LanguageResponse> Lst = new List <LanguageResponse>();
                            Lst.Add(new LanguageResponse { Id = 0, Name = "AUTO DETECT" });
                            Lst.Add(new LanguageResponse { Id = 1, Name = "ENGLISH" });
                            Lst.Add(new LanguageResponse { Id = 2, Name = "FRENCH" });
                            Lst.Add(new LanguageResponse { Id = 3, Name = "JAPANESE" });
                            Lst.Add(new LanguageResponse { Id = 4, Name = "GERMAN" });
                            Lst.Add(new LanguageResponse { Id = 5, Name = "SPANISH" });
                            Lst.Add(new LanguageResponse { Id = 6, Name = "KOREAN" });
                            baseResponse.Data = Lst;
                            baseResponse.Success = true;
                            baseResponse.Code = "200";
                            baseResponse.Message = "Operation Complete";
                            return baseResponse;
                        
                        
                            }
                        
                        
                            }
                        
                        
                            }
                        
                        NOTE:  To test run the React js xAigent demo application please visit (https://xaigent-web.vercel.app/demo)
                        
                        C Sharp Project
                        VB.NET Project
                        React js Project