首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

ios里边的身份验证在webservice里面应该怎样写才能获取用户名密码

2013-03-04 
ios里面的身份验证在webservice里面应该怎样写才能获取用户名密码比如:NSURL *url [NSURL URLWithString

ios里面的身份验证在webservice里面应该怎样写才能获取用户名密码
比如:
NSURL *url = [NSURL URLWithString:@"http://www.dreamingwish.com/"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setUseKeychainPersistence:YES];
[request setUsername:@"username"];
[request setPassword:@"password"];

这里设置了用户名密码
webservise  在哪里获取

[解决办法]
webService里的代码我不知道怎么写。。
你看看你IOS里POST的代码吧

NSString *soapMessage =@"xxxxxxxxxx";

    NSURL *url = [NSURL URLWithString:CMCC_ANTENNA_URL];
    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
    NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];

    [theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [theRequest addValue: FIND_ACTION forHTTPHeaderField:@"SOAPAction"];
    [theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
    [theRequest setHTTPMethod:@"POST"];
    [theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];

    NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

    if( theConnection )
    {
webData = [[NSMutableData data] retain];
    }
    else
    {
        NSLog(@"theConnection is NULL");
    }

[解决办法]
呃。。。你不知道怎么组合request字符串吗?


NSString *str = [NSString stringWithFormat:
                     @"<?xml version="1.0" encoding="utf-8"?>\
                     <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\
                     <soap:Body>\
                     <Login xmlns="http://tempuri.org/">\
                     <userName>%@</userName>\
                     <password>%@</password>\
                     </Login>\
                     </soap:Body>\
                     </soap:Envelope>", username, password];



[解决办法]
你这个是基于SOAP的WebService,iOS端要拼接SOAP请求格式才行,ASIHttpRequest只是以默认的Http请求格式发送请求,你服务器端当然收不到。
两种解决方案:
1、iOS端拼接SOAP请求格式通过进行请求
2、服务器端改成Restful的web service,你用.net的话可以用WCF Restful Template这个工程模板

热点排行