GraphQLClient ERROR when creating an GraphQLHttpClient: IGraphQLWebsocketJsonSerializer

2

Using GraphQL version 2.1.0, I can't create the object: GraphQLHttpClient.

I immediately get the following error:

System.AggregateException
  HResult=0x80131500
  Message=One or more errors occurred. (no implementation of "GraphQL.Client.Abstractions.Websocket.IGraphQLWebsocketJsonSerializer" found)
  Source=System.Private.CoreLib
  StackTrace:
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at (...)Program.Main(String[] args) in (..)\Program.cs:line 22

  This exception was originally thrown at this call stack:
    GraphQL.Client.Abstractions.GraphQLJsonSerializerExtensions.EnsureAssigned<TSerializerInterface>(TSerializerInterface)
    GraphQL.Client.Http.GraphQLHttpClient.GraphQLHttpClient(GraphQL.Client.Http.GraphQLHttpClientOptions, System.Net.Http.HttpClient)
    GraphQL.Client.Http.GraphQLHttpClient.GraphQLHttpClient(GraphQL.Client.Http.GraphQLHttpClientOptions)
    GraphQL.Client.Http.GraphQLHttpClient.GraphQLHttpClient(System.Action<GraphQL.Client.Http.GraphQLHttpClientOptions>)
    GraphQL.Client.Http.GraphQLHttpClient.GraphQLHttpClient(System.Uri)
    GraphQL.Client.Http.GraphQLHttpClient.GraphQLHttpClient(string)
    (...)Program.MainAsync() in Program.cs

Inner Exception 1:
InvalidOperationException: no implementation of "GraphQL.Client.Abstractions.Websocket.IGraphQLWebsocketJsonSerializer" found

Code:

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.IO;
using System.Net;
using System.Text;
using GraphQL;
using GraphQL.Client;
using System.Threading.Tasks;
using System.Collections.Generic;
using GraphQL.Client.Abstractions;
using GraphQL.Client.Http;

namespace OW_1
{
    class Program
    {

        static void Main(string[] args)
        {
            MainAsync().Wait();
        }

        static async Task MainAsync()
        {
            var graphQLClient = new GraphQLHttpClient("X");

        }
    }
}

It's crashing on line with GraphQLHttpClient. Before, I've used 1.0.3 (with: GraphQLClient class) and it worked.

c#
graphql
console-application
asked on Stack Overflow Mar 2, 2020 by Walczak Jakub

1 Answer

0

Just so if people land on this question, knows what finally will works:

        var graphQLOptions = new GraphQLHttpClientOptions
        {
            EndPoint = new Uri("https://your_endpoint.com/output", UriKind.Absolute),
        };
       var graphQLClient = new GraphQLHttpClient(graphQLOptions, new NewtonsoftJsonSerializer());

       var msg = new GraphQLRequest
        {
            Query = "query { yourSampleQuery { yourData} }"
        };
       var graphQLResponse = await graphQLClient.SendQueryAsync<dynamic>(msg).ConfigureAwait(false);

Just a point to consider is var graphQLClient should be static, so we do not new it up on each call.

answered on Stack Overflow Jun 9, 2020 by Arjit Sharma

User contributions licensed under CC BY-SA 3.0