2016-09-23 15 views
0
- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
NSString *[email protected]"1"; 
NSString *GetExRequest = [NSString stringWithFormat:@"<SOAP-  ENV:Envelope \n" 
        "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" \n" 
        "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" 
        "xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\"\n" 
        "SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" \n" 
        "xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"> \n" 
        "<SOAP-ENV:Header> \n" 
        "<UserName xmlns=\"CH1\">a1</UserName>\n" 
        "<Password xmlns=\"CH2\">a2</Password>\n" 
        "</SOAP-ENV:Header> \n" 
        "<SOAP-ENV:Body> \n" 
        "<NewsGet xmlns=\"http://tempuri.org/\">\n" 
        "<id>%@</id> \n" 
        "</NewsGet> \n" 
        "</SOAP-ENV:Body> \n" 
        "</SOAP-ENV:Envelope>\n", id]; 
NSURL *url = [NSURL URLWithString:@"https:/www.a.com/Service1.svc"]; 
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
NSString *msgLength = [NSString stringWithFormat:@"%d",GetExRequest length]]; 
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
[theRequest addValue: @"http://tempuri.org/IService1/NewsGet" forHTTPHeaderField:@"Soapaction"]; 
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"]; 
[theRequest setHTTPMethod:@"POST"]; 
[theRequest setHTTPBody: [GetExRequest dataUsingEncoding:NSUTF8StringEncoding]]; 
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 
if(theConnection) 
{ 
webData = [[NSMutableData data] init]; 
} 
else 
{ 
NSLog(@"theConnection is NULL"); 
} 
itemArray =[[NSMutableArray alloc] init]; 

} 

-(void)connection:(NSURLConnection *)connection didReceiveData: (NSData *)data 
{ 
[webData appendData:data]; 
} 

Привет, у меня проблемы с подключением к сети на объективе-c. В 3G-соединениях наши соединения слишком медленные или не работают. Но в WiFi мое приложение работает нормально. Соединение 3G происходит быстро, но я не могу понять, почему это замедление появляется. Должен ли я сделать что-то дополнительное для 3G?xcode объект c мыло xml 3g не работает

Когда я поставил breakpoin в этом разделе, по 3G время от времени он входит в функцию didReceiveData. Но на Wi-Fi он входит всегда.

ответ

0

согласно моему опыту во многих проектах, которые ваш сервер отвечает в последнее время, возможно, именно поэтому вы получаете последний ответ на своем устройстве в соединении 3G.

поэтому моя работа заключается в том, чтобы поменять время по умолчанию на явный заданный тайм-аут для моего запроса.

проверить это

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:40.0]; 

использовать тайм-аут для правильного ответа.

 Смежные вопросы

  • Нет связанных вопросов^_^