static func callAPI(strUrl: String, soapMsg : String ,param: NSDictionary?, mediaData : NSData? , strAction : String,completion : @escaping (JSON) ->()){
UIApplication.shared.beginIgnoringInteractionEvents()
let soapLenth = String(soapMsg.characters.count)
let theURL = NSURL(string: strUrl)
let mutableR = NSMutableURLRequest(url: theURL! as URL)
mutableR.addValue("text/xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
mutableR.addValue("text/html; charset=utf-8", forHTTPHeaderField: "Content-Type")
// mutableR.addValue("application/json", forHTTPHeaderField: "Accept")
mutableR.addValue("www.w3schools.com", forHTTPHeaderField: "Host")
mutableR.addValue(soapLenth, forHTTPHeaderField: "Content-Length")
mutableR.addValue("https://tempuri.org/"+"\(strAction)", forHTTPHeaderField: "SOAPAction")
mutableR.httpMethod = "POST"
mutableR.httpBody = soapMsg.data(using: String.Encoding.utf8)
let manager = AFHTTPSessionManager()
manager.requestSerializer.timeoutInterval=180
manager.responseSerializer=AFHTTPResponseSerializer()
// manager.responseSerializer.acceptableContentTypes=NSSet(array: ["text/xml"]) as? Set<String>
let task = manager.dataTask(with: mutableR as URLRequest, uploadProgress: nil, downloadProgress: nil) { (response, responseObject, error) in
if (error == nil){
let str=NSString(data: responseObject as! Data, encoding: String.Encoding.utf8.rawValue)
let data = str!.components(separatedBy: "<?")[0].data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!
jsonData=JSON(data: data)
MBProgressHUD.hide(for: view, animated: true)
UIApplication.shared.endIgnoringInteractionEvents()
if jsonData != nil{
completion(jsonData)
}
}
else{
MBProgressHUD.hide(for: view, animated: true)
self.view.makeToast(error!.localizedDescription)
UIApplication.shared.endIgnoringInteractionEvents()
completion(JSON(data: NSData() as Data))
}
}
task.resume()
}
Aufruf über Funktion
let soapMessage = NSString(format: "<?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><FahrenheitToCelsius xmlns=\"https://tempuri.org/\"><Fahrenheit>%@</Fahrenheit></FahrenheitToCelsius></soap:Body></soap:Envelope>", "25")
APIS.callAPI(strUrl: "http://www.w3schools.com/xml/tempconvert.asmx", soapMsg: soapMessage as String, param: nil, mediaData : nil ,strAction: "FahrenheitToCelsius", completion: { (JSON) in
print(JSON)
})
Amit jagesha oki wird es versuchen. – Arun
amit jagesh. Ich habe meinen Code, ich muss Benutzernamen und Passwort weitergeben meine Ausgabe ist nicht JASON ich bin als XML.please versuchen, meinen neuen Code, den ich angehängt habe. Ich habe keine Ausgabe – Arun