从我的 iPhone 应用程序中,我正在调用 ASP.NET Web 服务。下面是我的代码
NSString *urlString = @"http://tbtesting/teambinder5/KEY9XXXXXX-cXXe-49XX2-acca-2XXXXXXXa9/Dashboard/DashboardWidgets.asmx/GetAnnouncement";
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"*/*" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"en-us" forHTTPHeaderField:@"Accept-Language"];
[request setValue:@"gzip, deflate" forHTTPHeaderField:@"Accept-Encoding"];
[request setValue:@"20" forHTTPHeaderField:@"Content-Length"];
//[request setValue:@"3" forHTTPHeaderField:@"announceIntKey"];
NSError *error = nil;
NSURLResponse *response = [[NSURLResponse alloc] init];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (error) {
NSLog(@"Following error occured: %@", error.localizedDescription);
}
else {
NSString *returnValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"message: %@", returnValue);
}
这是取自提琴手的标题。
POST http://tbtesting/teambinder5/KEY9XXXXXX-cXXe-49XX2-acca-2XXXXXXXa9/Dashboard/DashboardWidgets.asmx/GetAnnouncement HTTP/1.1
Accept: */*
Accept-Language: en-us
Content-Type: application/json; charset=utf-8
Accept-Encoding: gzip, deflate
Content-Length: 20
{"announceIntKey":3}
我收到以下错误消息。
"Message":"无效的 Web 服务调用,缺少参数值:\u0027announceIntKey\u0027。"
在 SO 上进行了一些搜索后,我发现了此错误的原因。这是因为我没有传递 theannounceIntKey
和它的值。
虽然我知道原因,但我对如何纠正它有点无能为力。由于它看起来像一个对象文字,因此您不能像传递任何其他标头值一样传递它。我在这里遇到的所有示例代码都是针对 jQuery 或其他语言的。
我的问题是如何在 Objective C 中传递这个值?
谢谢你。