проблема с отправкой xml-данных через веб-сервис iphone

#iphone #objective-c

#iPhone #objective-c

Вопрос:

Это мой xml

 NSString *Message = [NSString stringWithFormat:                      
                         @"<?xml version="1.0" encoding="utf-8"?>n"
                         "<query>n"
                         "<IdCategory>1088</IdCategory>n"
                         "</query>n"];



NSURL *url = [NSURL URLWithString:@"http://bvd.vndsupport.com/_ws/api/categories/index.asp"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [Message length]];

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

NSString *returnString = [[NSString alloc] initWithData:[NSURLConnection sendSynchronousRequest:theRequest returningResponse:nil error:nil] encoding:NSUTF8StringEncoding];
NSLog(@"%@",returnString);
  

Я просто передаю этот идентификатор категории и получаю результат, но returnString всегда отображаю все сведения о категории. Я не получил точного результата. Это правильный способ передачи XML-данных в веб-сервис?

Ответ №1:

перейдите и найдите ‘wsdl2objc’, он сделает все это за вас, если вы хотите выполнять запросы soap.

Комментарии:

1. @Rams верно, это открытый исходный код, хотя, если вам показалось, что у вас есть шансы внести изменения — я ничего не мог вам сказать об этом, поскольку не удосужился посмотреть

Ответ №2:

Этот код будет работать идеально. проблема заключается в странице веб-сервиса

Комментарии:

1. У меня есть XML-файл с именем пользователя и паролем. Итак, ему необходимо пройти аутентификацию. Как я могу аутентифицировать этот XML-файл, кроме имени пользователя и пароля?

2. создайте формат строки в соответствии с вашим xml и передайте в URL веб-сервиса

3. Как установить имя пользователя и пароль?, и как связать эти имя пользователя и пароль с URL?

4. обратитесь к ссылке w3schools.com/soap/soap_body.asp.Pass введите имя пользователя и pwd в качестве запроса и получите ответ из xml.