Я новичок в iOS. У меня есть некоторые впечатления от Android. У меня проблема с использованием веб-службы в Swift. Я много гугл, но я не могу быть успешным. Я использую Swift 3.0 и iOS 10.1. У меня есть некоторая информация о веб-сервисе в iOS, потому что я очень много разбираюсь, а затем написал этот код. Но ярлык lblSonuc уже «Ярлык». К сожалению, я не верю.iOS - Мой код веб-сервиса не работает в Swift 3
var mutableData: NSMutableData = NSMutableData.init();
var currentElementName: NSString = "";
@IBAction func btnDeneme(_ sender: Any) {
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/xml/\"><Celsius>10</Celsius></CelsiusToFahrenheit></soap:Body></soap:Envelope>"
let url = "http://www.w3schools.com/xml/tempconvert.asmx?op=CelsiusToFahrenheit"
let urlStr = NSURL(string: url)
let request = NSMutableURLRequest(url: urlStr as! URL)
let msgLength = soapMessage.characters.count
request.addValue("text/xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.addValue("http://tempuri.org/CelsiusToFahrenheit", forHTTPHeaderField: "SOAPAction")
request.addValue(String(msgLength), forHTTPHeaderField: "Content-Length")
request.httpMethod = "POST"
request.httpBody = soapMessage.data(using: String.Encoding.utf8, allowLossyConversion: false)
let connection = NSURLConnection.init(request: request as URLRequest, delegate: self)
}
private func connection(connection: NSURLConnection!, didReceiveResponse response: URLResponse!) {
mutableData.length = 0;
}
private func connection(connection: NSURLConnection!, didReceiveData data: Data!) {
mutableData.append(data)
lblSonuc.text = String(describing: data) }
func connectionDidFinishLoading(connection: NSURLConnection!){
let response = NSString(data: mutableData as Data, encoding: String.Encoding.utf8.rawValue)
lblSonuc.text = response as String?
//let xmlParser = XMLParser(data: mutableData as Data)
//xmlParser.delegate = self
//xmlParser.parse()
//xmlParser.shouldResolveExternalEntities = true;
Я пытался опубликовать свой пример с клиентом SOAP, и я получил отказ «Сервер не распознает значение HTTP заголовка SOAPAction: http://tempuri.org/CelsiusToFahrenheit ".попробуйте ввести соединение с событием (_: didFailWithError :), чтобы узнать, какая ошибка вы получили – Yaman