从 iOS 目标调用方法 webService (WCF) C)

Posted

技术标签:

【中文标题】从 iOS 目标调用方法 webService (WCF) C)【英文标题】:calling method webService (WCF) from iOS objective C) 【发布时间】:2015-07-21 21:11:24 【问题描述】:

我想从ios通过参数Json调用方法webService,但是我收到了错误。

代码服务器端 (WCF):

[OperationContract]
    [WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "/test/input")]
    int test(string input);

我要获取输入(参数方法和url)= typeof (Json)

代码客户端(iOS-objective C):

NSString *json = [self convertToJson:myObject];
NSString *urlComplete = [NSString stringWithFormat:@"%@%@",@"http://test.com/Service.svc/test/",json];

    urlComplete = [urlComplete stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];

    [request setURL:[NSURL URLWithString:urlComplete]];
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:
             ^(NSURLResponse *response, NSData *data, NSError *connectionError) 
                 if (data.length > 0 && connectionError == nil) 
                     NSString *string = [[NSString alloc]initWithData:data encoding:NSASCIIStringEncoding];
                     NSLog(@"Data Recived:\n %@",string);
                 
                 else
                     NSLog(@"Error %@",[connectionError description]);
                 
             ];

webService 正在由 windowsPhone 测试并返回 OK,但不适用于 iOS。 请帮我! 谢谢:)

【问题讨论】:

您收到什么错误信息? ttp://www.w3.org/TR/html4/strict.dtd" rel="nofollow" target="_blank">w3.org/TR/html4/strict.dtd"> 错误请求

错误请求 - 无效 URL


HTTP 错误400. 请求 URL 无效。

我收到此错误。
那么你的网址是什么?将 JSON 放在 GET URL 中是不常见的。通常你会发布它。 此方法适用于 WindowsPhone,我在 windowsPhone 中得到结果,但不适用于 iOS。 :-( 您需要检查生成的 URL 并找出服务器说它无效的原因。 【参考方案1】:

错误描述“HTTP 错误 400。请求 URL 无效。”清除您传递的网址不正确。如果他们将 JSON 附加到获取 URL,请与 Windows 团队进行交叉检查。

一般来说,如果你想发布数据,你可以将 requestdata 设置为 JSON,然后使用 PUT 或 POST 请求而不是 GET 请求。

【讨论】:

以上是关于从 iOS 目标调用方法 webService (WCF) C)的主要内容,如果未能解决你的问题,请参考以下文章

WebService 远程调用方法汇总

Java客户端调用Webservice接口流程

.net webservice

在webservice的一次调用中能循环调用接口方法

如何用webservice从客户端发送一个xml给服务端接收并插入数据库

JAVA怎样调用https类型的webservice