У меня есть просмотр таблицы, когда пользователь выбирает строку, я вызываю веб-сервис в зависимости от того, какая строка выбрана.
Моя проблема в том, что я могу подключиться к веб-службе, но я не получаю никакого ответа от веб-службы. Я использовал мыльный клиент, чтобы проверить, работает ли веб-сервис правильно или нет.
//rootviewcontroller.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {....
//call to webservice
[self connectToWebService];
}
При отладке я обнаружил, что мой код не подходит ни к одному из следующих методов
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *) response{}
-(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) data {}
-(void) connection:(NSURLConnection *) connection didFailWithError:(NSError *) error{}
-(void) connectionDidFinishLoading:(NSURLConnection *) connection {}
какие-либо предложения, где я иду не так ???
спасибо
-(void)connectToWebService
{
NSString *soapMsg = [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>"
" <GetCount xmlns=\"http://192.168.1.104/Service1\">"
"<PropId>718</PropId>"
"</GetCount>"
"</soap:Body>"
"</soap:Envelope>"];
NSURL *url = [NSURL URLWithString:
@"http://192.168.1.104/defpath/service1.asmx"];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
//---set the headers---
NSString *msgLength = [NSString stringWithFormat:@"%d",[soapMsg length]];
[req addValue:@"text/xml; charset=utf-8"
forHTTPHeaderField:@"Content-Type"];
[req addValue:@"http://192.168.1.104/defpath/Service1/GetCount"
forHTTPHeaderField:@"SOAPAction"];
[req addValue:msgLength forHTTPHeaderField:@"Content-Length"];
//---set the HTTP method and body---
[req setHTTPMethod:@"POST"];
[req setHTTPBody: [soapMsg dataUsingEncoding:NSUTF8StringEncoding]];
conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
if (conn) {
webData = [[NSMutableData data] retain];
}