¿Cómo enviar una request a soap webservice en ios?

Hola, quiero enviar una request al service web de soap. Probé en AFnetworking y obtuve el error 500 del server interno y ahora iam intentando en nsurlconnection pero también mostrando el código de estado 400. Por favor, alguien me ayude. Gracias Avance escuchar es mi código.

NSString *soapString = [NSString stringWithFormat: @"<?xml version=\"1.0\" encoding=\"utf-8\"?><soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\"><soap12:Body><addBusOrder xmlns=\"http://tempuri.org/\"><UserUniqueID>ok//8FjcvEKWMeeJJZHKYA</UserUniqueID><PlatFormID>4</PlatFormID><DeviceID>E3D2FCF6-F41B-4275-BD34-FAA31307EFFE</DeviceID><RouteScheduleId>532875503</RouteScheduleId><JourneyDate>2016-03-25</JourneyDate><FromCityid>734</FromCityid><ToCityid>202</ToCityid><TyPickUpID>22860424</TyPickUpID><Contactinfo><Name>vinod</Name><Email>katragadda.vinod@gmail.com</Email><Phoneno>7842768497</Phoneno><mobile>8801720427</mobile></Contactinfo><pass><passenger><passengerName>kumar</passengerName><Age>23</Age><Fare>1072</Fare><Gender>M</Gender><Seatno>D3</Seatno></passenger></pass></addBusOrder></soap:Body></soap:Envelope></addBusOrder></soap12:Body></soap12:Envelope>"]; NSLog(@"soapString %@",soapString); NSString *msgLength = [NSString stringWithFormat:@"%li", [soapString length]]; NSString *queryString = [NSString stringWithFormat: @"https://asprel.in/Service/AppServices.asmx/addBusOrder"]; NSURL *url = [NSURL URLWithString:queryString]; NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url]; [req addValue:@"application/soap+xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; [req addValue:msgLength forHTTPHeaderField:@"Content-Length"]; [req addValue:@"http://tempuri.org/addBusOrder" forHTTPHeaderField:@"SOAPAction"]; [req setHTTPMethod:@"POST"]; [req setHTTPBody: [soapString dataUsingEncoding:NSUTF8StringEncoding]]; NSOperationQueue *queue = [[NSOperationQueue alloc]init]; [NSURLConnection sendAsynchronousRequest:req queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (connectionError) { NSLog(@"error %@",connectionError); }else{ NSLog(@"data %@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]); } NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data]; [parser parse]; }]; } 

Error:

 status code: 500, headers { "Access-Control-Allow-Origin" = "*"; "Cache-Control" = private; "Content-Length" = 322; "Content-Type" = "text/plain; charset=utf-8"; Date = "Thu, 24 Mar 2016 07:08:32 GMT"; Etag = "\"\""; Server = "Microsoft-IIS/8.0"; "X-AspNet-Version" = "4.0.30319"; 

Necesita la Autorización de la API

testing agregar Autorización

  // Create the request NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:10]; // New Create the connection NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession *session = [NSURLSession shanetworkingSession];//sessionWithConfiguration:defaultConfigObject delegate:self delegateQueue:[NSOperationQueue mainQueue]]; // NSURLCnetworkingential *cnetworkings = [NSURLCnetworkingential cnetworkingentialWithUser:self.username password:self.password persistence:NSURLCnetworkingentialPersistenceForSession]; NSString *authStr = [NSString stringWithFormat:@"%@:%@",username API,password API];// @"username:password"; NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding]; NSString *authValue = [NSString stringWithFormat: @"Basic %@",[authData base64EncodedStringWithOptions:0]]; // Part Important [request setValue:authValue forHTTPHeaderField:@"Authorization"]; [request addValue:@"application/soap+xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; [request addValue:msgLength forHTTPHeaderField:@"Content-Length"]; [request addValue:@"http://tempuri.org/addBusOrder" forHTTPHeaderField:@"SOAPAction"]; [request setHTTPMethod:@"POST"]; [request setHTTPBody: [soapString dataUsingEncoding:NSUTF8StringEncoding]]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data]; [parser parse]; NSLog(@"%@",responseData); if (error) { [self handleError: error]; } }]; [dataTask resume]; NSLog(@"Header Request--->> %@",request.allHTTPHeaderFields);