Я пытаюсь заставить мое приложение отправлять данные в веб-службу WCF RESTful.
На данный момент я не получаю никаких сообщений об ошибках из ASIHTTPRequest, но веб-служба тоже ничего не делает.
Не могли бы вы, ребята, взглянуть на это и посмотреть, можете ли вы что-то заметить?
Xcode
NSURL *url = [NSURL URLWithString:@"http://www.mydomian.com/create"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
NSData *myPostData = [[NSString stringWithFormat:@"<Product><Description>desc1</Description><Id></Id><Name>some body</Name></Product>"] dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *myMutablePostData = [NSMutableData dataWithData:myPostData];
[request setPostBody:myMutablePostData];
[request setRequestMethod:@"POST"];
[request addRequestHeader:@"Content-Type" value:@"application/xml"];
[request setDelegate:self];
[request startSynchronous];
Webservice
...
открытый класс Product {[DataMember] public string Id {get;задавать;}
[DataMember]
public string Name { get; set; }
[DataMember]
public string Description { get; set; }
}
...
[OperationContract] [WebInvoke (UriTemplate = "/ create", Method = "POST", RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Bare)] void CreateProduct (Продукт продукта);
...
... CreateProduct ...
myConnection.Open ();
string insertString = "insert into tbldata (desc,Name) values (@desc,@Name)";
MySqlCommand myCommand = new MySqlCommand(insertString, myConnection);
myCommand.Parameters.Add("@desc", MySqlDbType.VarChar, 12);
myCommand.Parameters.Add("@Name", MySqlDbType.VarChar, 40);
myCommand.Parameters["@desc"].Value = product.Description;
myCommand.Parameters["@Name"].Value = product.Name;
myCommand.ExecuteNonQuery();