是否可以从iPhone OS将XMLData发布到the服务。we服务是在带有RESTFul url的ASP.net MVC3.0中开发的,我们希望iPhone开发人员以RESTFul格式发送输入数据作为POST变量。
webservice操作结果如下所示,其中sightings是预期作为POST变量传递的参数
public ActionResult Update(XDocument sightings)
{
try
{
XMLHelper xmlHelper = new XMLHelper();
}
}发布于 2011-05-03 02:35:55
这是绝对适用的,您所需要做的就是使用NSMutableURLRequest,如下所示:
NSString* sXMLToPost = @"<?xml version=\"1.0\"?><Name>user</Name>";
NSData* data = [sXMLToPost dataUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:@"http://myurl.com/RequestHandler.ashx"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:[sXMLToPost dataUsingEncoding:NSUTF8StringEncoding]];
NSURLResponse *response;
NSError *error;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
if (error) {
//handle the error
}现在,在您的ASHX文件中,解析InputStream以读取发布的XML:
System.IO.Stream str; String strmContents;
Int32 counter, strLen, strRead;
str = Request.InputStream;
strLen = Convert.ToInt32(str.Length);
byte[] strArr = new byte[strLen];
strRead = str.Read(strArr, 0, strLen);
// Convert byte array to a text string.
strmContents = "";
for (counter = 0; counter < strLen; counter++)
{
strmContents = strmContents + strArr[counter].ToString();
}请记住,您始终可以使用以下命令检查请求类型:
if (context.Request.RequestType == "POST")
MSDN HttpRequest.InputStream
https://stackoverflow.com/questions/5857059
复制相似问题