2012-09-17 1 views
2

Я пытаюсь использовать службу покоя (ФОС) с помощью restsharprestsharp безуспешными пост

Это моя служба

[ServiceContract] 
    public interface IService 
    { 
     [OperationContract] 
     [WebInvoke(Method="POST", UriTemplate = "/PEmploy", ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml)] 
     Employee PostGetEmploy(Employee emp); 
    } 

    [DataContract] 
    public class Employee 
    { 
     [DataMember] 
     public int EmpNo { get; set; } 
     [DataMember] 
     public string EmpName { get; set; } 
     [DataMember] 
     public string DeptName { get; set; } 
    } 

и это, как я это называю

var client = new RestClient("http://localhost:14437/Service.svc"); 
    var request = new RestRequest("XmlService/PEmploy", Method.POST); 
    myRef.Employee emp = new myRef.Employee() { EmpNo = 101, EmpName = "Mahesh", DeptName = "CTD" }; 
    request.AddParameter("Employee", emp); 
    RestResponse<myRef.Employee> response = (RestResponse<myRef.Employee>)client.Execute<myRef.Employee>(request); 

и это исключение, которое я получаю

Exception:Caught: "Data at the root level is invalid. Line 1, position 1." (System.Xml.XmlException) 
    A System.Xml.XmlException was caught: "Data at the root level is invalid. Line 1, position 1." 

Я пробовал сериализацию, но все же получил то же исключение. Что я делаю неправильно?

ответ

3

Это сделал трюк

var client = new RestClient("http://localhost:14437/Service.svc"); 
var request = new RestRequest("XmlService/PEmploy", Method.POST); 
request.RequestFormat = DataFormat.Json; 
myRef.Employee emp = new myRef.Employee() { EmpNo = 101, EmpName = "Mahesh", DeptName = "CTD" }; 
request.AddParameter("Employee", emp); 
RestResponse<myRef.Employee> response = (RestResponse<myRef.Employee>)client.Execute<myRef.Employee>(request); 
+0

Для будущих посетителей: он добавил request.RequestFormat = DataFormat.Json; –

 Смежные вопросы

  • Нет связанных вопросов^_^