I try:
Code:
RestTemplate rt = new RestTemplate("http://localhost:8080");
            rt.MessageConverters.Add(new XElementHttpMessageConverter());
            rt.GetForMessageAsync<XElement>("/modelbuilder/services/modeldefine", r =>
                {
                    if (r.Error == null)
                    {
                        Debug.WriteLine(r.Response.Body.ToString());
                    }
                    else
                    {
                        Debug.WriteLine(r.Error);
                    }
                });
Result:
Code:
System.NotSupportedException ---> System.NotSupportedException: 不支持所指定的方法。
   位于 System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   位于 System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
   位于 System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState)
   --- 内部异常堆栈跟踪的结尾 ---
   位于 System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
   位于 System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   位于 Spring.Http.Client.WebClientHttpRequest.ExecuteResponseCallback(IAsyncResult result)
I google:
Silverlight only supports setting headers using the POST method not the GET method.
So add some code to "ExecuteAsync" of "WebClientHttpRequest.cs"

Code:
// Prepare
                if (this.Method != HttpMethod.GET)
                {
                    this.PrepareForExecution();
                }
All ok.