Я звоню в службу, как показано ниже, используя swift в ios, . Моя служба отлично работает с версией Android, но когда я пытаюсь заставить ее работать с ios, она всегда возврат кода ошибки 400код ошибки 400 при потреблении службы svc в ios с использованием swift
ниже код Ios версии
var soapMessage = "<?xml version='1.0' encoding='UTF-16'?><soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body><GetAirports xmlns='http://groundspan.com/groundspan'/></soap:Body></soap:Envelope>"
// var urlString = "http://example.com/myeservice.svc"
var urlString = "http://example.com/myservice.svc?"
var nameSpace = "http://example.com/service"
var methodNam = "GetAirports"
var msgLength = String(countElements(soapMessage))
var url = NSURL(string: urlString)!
println("Url : \(url)")
var theRequest = NSMutableURLRequest(URL: url)
theRequest.addValue("text/xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
theRequest.addValue(msgLength, forHTTPHeaderField: "Content-Length")
theRequest.addValue("http://example.com/service/IGroundSpanProcessorService/\(methodNam)", forHTTPHeaderField: "SOAPAction")
theRequest.HTTPMethod = "POST"
theRequest.HTTPBody = soapMessage.dataUsingEncoding(NSUTF16StringEncoding, allowLossyConversion: false)
var connection = NSURLConnection(request: theRequest, delegate: self, startImmediately: true)
connection?.start()
if (connection == true) {
var mutableData : Void = NSMutableData.initialize()
}else{
println("Error in connection")
}
всегда идет в к другому блоку ошибки соединения и пятерок в связи & также получить код ошибки 400 ошибку.
Пожалуйста, помогите мне.
если (соединение! = Ноль) { } решить мою проблему собирается в еще блоке и также смотрите ниже ответ, который решал ошибку 400 – Pinakin