I was starting to migrate my old objective-c SOAP Web Service code to Swift 2. But I failed as I never got a response using Swift 2 which drove me nuts at the end.
I started isolating things and following this Soap temperature converter tutorial (http://webindream.com/soap-with-swift/) which is Swift 1.2 based.
This is my Swift 2 converted ViewController but connection never got true (connection == truenever occurred). 
//
//  ViewController.swift
//  Temperature Converter
//
//  Created by Farhad on 10/24/14.
//  Copyright (c) 2014 Web In Dream. All rights reserved.
//
import UIKit
//Step 1: Add protocol names that we will be delegating.
class ViewController: UIViewController, UITextFieldDelegate, NSURLConnectionDelegate, NSXMLParserDelegate {
    var mutableData:NSMutableData  = NSMutableData()
    var currentElementName:NSString = ""
    @IBOutlet var txtCelsius : UITextField!
    @IBOutlet var txtFahrenheit : UITextField!
    @IBAction func actionConvert(sender : AnyObject) {
        let celcius = txtCelsius.text
        let soapMessage = "<?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><CelsiusToFahrenheit xmlns='http://www.w3schools.com/webservices/'><Celsius>\(celcius)</Celsius></CelsiusToFahrenheit></soap:Body></soap:Envelope>"
        let urlString = "http://www.w3schools.com/webservices/tempconvert.asmx"
        let url = NSURL(string: urlString)
        let theRequest = NSMutableURLRequest(URL: url!)
        let msgLength = String(soapMessage.characters.count)
        theRequest.addValue("text/xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
        theRequest.addValue(msgLength, forHTTPHeaderField: "Content-Length")
        theRequest.HTTPMethod = "POST"
        theRequest.HTTPBody = soapMessage.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) // or false
        let connection = NSURLConnection(request: theRequest, delegate: self, startImmediately: true)
        connection!.start()
        if (connection == true) {
            var mutableData : NSMutableData = NSMutableData()
        }
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    // NSURLConnectionDelegate
    // NSURL
    func connection(connection: NSURLConnection!, didReceiveResponse response: NSURLResponse!) {
        mutableData.length = 0;
    }
    func connection(connection: NSURLConnection!, didReceiveData data: NSData!) {
        mutableData.appendData(data)
    }
    func connectionDidFinishLoading(connection: NSURLConnection!) {
        let xmlParser = NSXMLParser(data: mutableData)
        xmlParser.delegate = self
        xmlParser.parse()
        xmlParser.shouldResolveExternalEntities = true
    }
    // NSXMLParserDelegate
    func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
        currentElementName = elementName
    }
    func parser(parser: NSXMLParser!, foundCharacters string: String!) {
        if currentElementName == "CelsiusToFahrenheitResult" {
            txtFahrenheit.text = string
        }
    }
}
There have been a lot of coments around in the internet but no real answer why connection never gets true with Swift 2. At least no one solved my problem finally ;-(
That's the reason I raise this question again with hope getting a working version for the community. Is there anybody out there made a successful Swift 2.1 SOAP Web Service Call and could share the solution?
Many thanks in advance John
 
     
    