Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 通过Objective C调用时未命中Web服务方法_Ios_Sql_Json_Web Services_Post - Fatal编程技术网

Ios 通过Objective C调用时未命中Web服务方法

Ios 通过Objective C调用时未命中Web服务方法,ios,sql,json,web-services,post,Ios,Sql,Json,Web Services,Post,我的应用程序代码/IGetEmployees.vb文件 <ServiceContract()> _ Public Interface IGetEmployees <OperationContract()> _ <WebInvoke(Method:="POST", ResponseFormat:=WebMessageFormat.Json, BodyStyle:=WebMessageBodyStyle.Wrapped, UriTemplate:="json/cont

我的应用程序代码/IGetEmployees.vb文件

<ServiceContract()> _
Public Interface IGetEmployees
 <OperationContract()> _
<WebInvoke(Method:="POST", ResponseFormat:=WebMessageFormat.Json, BodyStyle:=WebMessageBodyStyle.Wrapped, UriTemplate:="json/contactoptions")> _
Function GetAllContactsMethod(strCustomerID As String) As List(Of NContactNames)
End Interface
   <WebMethod()> _
 <ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Function GetAllContactsMethod(strCustomerID As String) As List(Of NContactNames) Implements IGetEmployees.GetAllContactsMethod
    Utilities.log("Hit get all contacts at 56")
    Dim intCustomerID As Integer = Convert.ToInt32(strCustomerID)
    Dim lstContactNames As New List(Of NContactNames)
 'I add some contacts to the list.
Utilities.log("returning the lst count of " & lstContactNames.Count)
    Return lstContactNames
End Function
在发布此代码时,“if”语句为true,并且(null)后面紧跟“Done” 我的绝对请求的输出是: 请求字符串为
这是我第一次编写json来接受参数。所以我可能遗漏了一些东西。这是什么?为什么Visual Studio端根本没有调用该函数。如果您需要更多信息,请询问。谢谢…

这是Objetive-C中的方法

-(void) insertEmployeeMethod

{

    if(firstname.text.length && lastname.text.length && salary.text.length)

    {

        NSString *str = [BaseWcfUrl stringByAppendingFormat:@"InsertEmployee/%@/%@/%@",firstname.text,lastname.text,salary.text];

        NSURL *WcfSeviceURL = [NSURL URLWithString:str];
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

        [request setURL:WcfSeviceURL];

        [request setHTTPMethod:@"POST"];

        // connect to the web

        NSData *respData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

        // NSString *respStr = [[NSString alloc] initWithData:respData encoding:NSUTF8StringEncoding];


        NSError *error;

        NSDictionary* json = [NSJSONSerialization 

                              JSONObjectWithData:respData 

                              options:NSJSONReadingMutableContainers 

                              error:&error];  



        NSNumber *isSuccessNumber = (NSNumber*)[json objectForKey:@"InsertEmployeeMethodResult"];


        //create some label field to display status
        status.text = (isSuccessNumber && [isSuccessNumber boolValue] == YES) ? [NSString stringWithFormat:@"Inserted %@, %@",firstname.text,lastname.text]:[NSString stringWithFormat:@"Failed to insert %@, %@",firstname.text,lastname.text];
    }
}
在运行代码之前,请使用POSTMAN测试您的URL,这是一个来自Google Chrome的应用程序。
注意。

您希望输出的具体内容是什么?您甚至从未启动连接,更不用说从中获取任何数据了。@warrenm。我在联系人姓名列表中添加了一些值。我没有将代码放在这里,但实际上在该方法调用中,会触发一个sql存储过程,它返回3/4行,我创建了3/4个对象并将其添加到列表中。我希望以JSON格式获取这些值。你说的“启动连接”是什么意思?我在网上看到了一个例子,并遵循了它。这里出了什么问题?你还应该尝试rest客户端以确保服务器端正常工作,然后在iOS端工作并修复你的NSURLConnection代码。
-(void) insertEmployeeMethod

{

    if(firstname.text.length && lastname.text.length && salary.text.length)

    {

        NSString *str = [BaseWcfUrl stringByAppendingFormat:@"InsertEmployee/%@/%@/%@",firstname.text,lastname.text,salary.text];

        NSURL *WcfSeviceURL = [NSURL URLWithString:str];
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

        [request setURL:WcfSeviceURL];

        [request setHTTPMethod:@"POST"];

        // connect to the web

        NSData *respData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

        // NSString *respStr = [[NSString alloc] initWithData:respData encoding:NSUTF8StringEncoding];


        NSError *error;

        NSDictionary* json = [NSJSONSerialization 

                              JSONObjectWithData:respData 

                              options:NSJSONReadingMutableContainers 

                              error:&error];  



        NSNumber *isSuccessNumber = (NSNumber*)[json objectForKey:@"InsertEmployeeMethodResult"];


        //create some label field to display status
        status.text = (isSuccessNumber && [isSuccessNumber boolValue] == YES) ? [NSString stringWithFormat:@"Inserted %@, %@",firstname.text,lastname.text]:[NSString stringWithFormat:@"Failed to insert %@, %@",firstname.text,lastname.text];
    }
}