0

我在我的 Windows Phone 应用程序中使用来自 json-rpc.net 的 json-rpc 客户端。代码:

 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()
4

1 回答 1

1

如果 json-rpc 客户端解析器代码在收到响应时中断,并且它在Line 0, position 0恰好是字符的第一个字符 ( ) 处死掉<,则您必须怀疑该服务已返回 XML。

您确定您正在与正确的服务端点通话吗?使用正确的协议?

于 2012-04-04T08:43:06.627 回答