繁体   English   中英

将数据从ios应用传递到C#Web服务

[英]passing data from ios app to C# web service

我正在尝试开发可以与本地网络下的C#Web服务通信的iOS应用。 我正在使用AFNetworking实现通信。 现在,借助本教程 ,我已经实现了从Web服务读取xml数据的能力,这意味着我的应用程序可以连接到Web服务。 但是我真正想做的是将数据从应用程序传递到Web服务。 我已经写了一些示例代码:

AFmyAPIClient *myClient = [AFmyAPIClient sharedClient];
NSMutableDictionary *requestArray = [NSMutableDictionary new];
NSString *details = [_listOfItems description];
float tempF= [_listOfItems totalPrice];
NSString *price = [NSString stringWithFormat:@"%f",tempF];
int tempI = 1;
NSString *table = [NSString stringWithFormat:@"%u",tempI];

[requestArray setObject:details forKey:@"details"];
[requestArray setObject:price forKey:@"price"];
[requestArray setObject:table forKey:@"table"];

[myClient postPath:@"setOrderDetails" parameters:requestArray success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"success!");
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"%@",error);
    }];

构建并运行此应用程序后,它将生成以下错误消息:

2013-11-03 16:25:48.654 HLR[16149:70b] <?xml version="1.0" encoding="utf-8"?>
<int xmlns="http://localhost/service/Service1.asmx">3</int>
2013-11-03 16:25:48.844 HLR[16149:70b] Error Domain=AFNetworkingErrorDomain Code=-1011 "Expected status code in (200-299), got 500" UserInfo=0x8b5b140 {NSLocalizedRecoverySuggestion=Missing parameter: orderDetails.
, AFNetworkingOperationFailingURLRequestErrorKey=<NSMutableURLRequest: 0x8b5bb70> { URL: http://10.0.0.111/service/Service1.asmx/setOrderDetails }, NSErrorFailingURLKey=http://10.0.0.111/service/Service1.asmx/setOrderDetails, NSLocalizedDescription=Expected status code in (200-299), got 500, AFNetworkingOperationFailingURLResponseErrorKey=<NSHTTPURLResponse: 0x8b4e910> { URL: http://10.0.0.111/service/Service1.asmx/setOrderDetails } { status code: 500, headers {
    "Cache-Control" = private;
    "Content-Length" = 34;
    "Content-Type" = "text/plain; charset=utf-8";
    Date = "Sun, 03 Nov 2013 05:25:34 GMT";
    Server = "Microsoft-IIS/7.5";
    "X-AspNet-Version" = "2.0.50727";
    "X-Powered-By" = "ASP.NET";
} }}

在C#Web服务端,我有如下Web方法:

[Web Method]
public void setOrderDetails(String orderDetails)
{
         //store orderDetails into a text file.

}

我是iOS开发的新手,我不明白调用此方法时真正传递给Web服务的内容:

[myClient postPath:@"setOrderDetails" parameters:requestArray success:^(AFHTTPRequestOperation *operation, id responseObject) {
            NSLog(@"success!");
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"%@",error);
        }];

我是否只是将NSDictionary作为参数传递给C#Web服务? 如果是这样,我可以在Web服务端使用此NSDictionary做什么?

我不知道这是否是实现将数据传递到Web服务的正确方法。 我在这里真正想做的是将一些字符串传递给Web服务,我该如何实现呢?

我们欢迎所有的建议!

您正在将XML内容作为URL参数传递。 您需要在请求的正文中传递它。 以下是解决使用AFNetworking发布XML的几个问题:

使用AFNetworking发布XML的示例?

AFNetworking-向REST服务发出XML POST请求? 如何形成NSDictionary参数?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM