JSON-RPC исключение - PullRequest
       8

JSON-RPC исключение

0 голосов
/ 30 марта 2012

Я использую клиент json-rpc из json-rpc.net в своем приложении для Windows Phone. Код:

 var client = new AustinHarris.JsonRpc.JsonRpcClient(new Uri("http://www.raboof.com/projects/jayrock/demo.ashx"));
var myObs = client.Invoke<string>("echo", "hello world", Scheduler.ThreadPool);
myObs.Subscribe(
    onNext: _ =>
    {
        Console.WriteLine(_.Result);
    });
        }

А потом я хочу получить данные, выйти из приложения с JsonReaderException:

Newtonsoft.Json.JsonReaderException
  Message=Unexpected character encountered while parsing value: <. Line 0, position 0.
  LineNumber=0
  LinePosition=0
  Path=""
  StackTrace:
       at Newtonsoft.Json.JsonTextReader.ParseValue()
       at Newtonsoft.Json.JsonTextReader.ReadInternal()
       at Newtonsoft.Json.JsonTextReader.Read()
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter, Boolean inArray)
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType)
       at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
       at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
       at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
       at Newtonsoft.Json.JsonConvert.DeserializeObject(String value)
       at AustinHarris.JsonRpc.JsonRpcClient.<>c__DisplayClassa`1.<>c__DisplayClassc.<>c__DisplayClasse.<Invoke>b__9(IAsyncResult riar)
       at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClassa.<InvokeGetResponseCallback>b__8(Object state2)
       at System.Threading.ThreadPool.WorkItem.WaitCallback_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadPool.WorkItem.doWork(Object o)
       at System.Threading.Timer.ring()

1 Ответ

1 голос
/ 04 апреля 2012

Если код синтаксического анализатора клиента json-rpc прерывается при получении ответа, и он умирает от первого символа (Line 0, position 0), который оказывается символом <, вам следует подозревать, что служба вернула XML.

Вы уверены, что говорите с нужной конечной точкой сервиса?С правильным протоколом?

...