Альтернативный способ для SOAP-подключения от Iphone? - PullRequest
0 голосов
/ 20 июня 2011

Мне нужно подключиться к моему веб-сервису SOAP с IPhone, я попробовал подход, описанный ниже, и он работал:

NSURL *url = [NSURL URLWithString:@"http://w3schools.com/webservices/tempconvert.asmx"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url] 
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: @"http://tempuri.org/CelsiusToFahrenheit" 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");
}

таким образом я могу получить ответ от Сервиса. Сначала мне нужно создать несколько классов, затем мне нужно проанализировать этот XML и заполнить его объектами данных. Мои вопросы:

Что не так с этим методом? Потому что есть библиотеки типа WSDL2ObjC, который создает код из моего wsdl, или cSOAP, который является клиент-серверной библиотекой SOAP.

Единственный смысл использования библиотеки SOAP заключается в том, что мне не нужно писать классы, в которые будет разбираться мой XML? с моим вышеупомянутым акцентом только кажется, что после разбора xml все будет хорошо, или я что-то упустил?

Почему не используется WSDL2Objc, см. Мой вопрос по этому поводу здесь Нет документации!

1 Ответ

0 голосов
/ 20 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...