0

ローカル ネットワークで 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 サービスに渡しただけですか? だとしたら、この NSDictionary を Web サービス側でどうすればよいのでしょうか?

これが Web サービスにデータを渡す正しい方法かどうかはわかりません。ここで本当にやりたいことは、いくつかの文字列を Web サービスに渡すことです。どうすればそれを実現できますか?

どんな提案でも大歓迎です!

4

1 に答える 1