Soap API Integration in Swift ?
Web services which is mostly used to communicate each other apps using server, server store value of apps, and give when required. These process is called web services, Here discuss about , how to call an ASMX service in iOS.we will send a Book Name and chapter number to Server then gives response of chapter Name and text Title.
The Soap API request calling by AFNetworking, and its XML response handle using XMLReader. So Download AFNetworking. and XMLReader is already in project with updated. You have to follow the steps : How to use objective c in swift ? After successfully added follow the below steps.
Step 1 : Create Xcode Project : Go to file >New > Projetc > DemoApp.
Step 2 : This demo calling Soap API to get All Chapter names of the Book, I have one Soap API, By using this API to get Chapters name from Book.
Step 3 : http://www.prioregroup.com/services/americanbible.asmx
Step 4 : Open above URL in the Browser and get the method GetVerses.
Step 5 : The best way to get SOAP request : Open : http://wsdlbrowser.com/ and Paste http://www.prioregroup.com/services/americanbible.asmx?wsdl , after Click on GetVerses and get XML request .
Step 6 : Soap body code:
Thanks,
The Soap API request calling by AFNetworking, and its XML response handle using XMLReader. So Download AFNetworking. and XMLReader is already in project with updated. You have to follow the steps : How to use objective c in swift ? After successfully added follow the below steps.
Step 1 : Create Xcode Project : Go to file >New > Projetc > DemoApp.
Step 2 : This demo calling Soap API to get All Chapter names of the Book, I have one Soap API, By using this API to get Chapters name from Book.
Step 3 : http://www.prioregroup.com/services/americanbible.asmx
Step 4 : Open above URL in the Browser and get the method GetVerses.
Step 5 : The best way to get SOAP request : Open : http://wsdlbrowser.com/ and Paste http://www.prioregroup.com/services/americanbible.asmx?wsdl , after Click on GetVerses and get XML request .
Step 6 : Soap body code:
let soapMessage = "Genesis 1 "
let soapLenth = String(soapMessage.characters.count)
let theUrlString = "http://www.prioregroup.com/services/americanbible.asmx"
let theURL = NSURL(string: theUrlString)
Step 7 : Soap body request:let mutableR = NSMutableURLRequest(URL: theURL!)
mutableR.addValue("text/xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
mutableR.addValue("text/html; charset=utf-8", forHTTPHeaderField: "Content-Type")
mutableR.addValue(soapLenth, forHTTPHeaderField: "Content-Length")
mutableR.HTTPMethod = "POST"
mutableR.HTTPBody = soapMessage.dataUsingEncoding(NSUTF8StringEncoding)
Step 8 : AFHTTPRequestOperation:let manager = AFHTTPRequestOperation(request: mutableR)
manager.setCompletionBlockWithSuccess({ (operation : AFHTTPRequestOperation, responseObject : AnyObject) -> Void in
var dictionaryData = NSDictionary()
do
{
dictionaryData = try XMLReader.dictionaryForXMLData(responseObject as! NSData)
let mainDict = dictionaryData.objectForKey("soap:Envelope")!.objectForKey("soap:Body")!.objectForKey("GetVersesResponse")!.objectForKey("GetVersesResult") ?? NSDictionary()
if mainDict.count > 0{
let mainD = NSDictionary(dictionary: mainDict as! [NSObject : AnyObject])
self.performSegueWithIdentifier("details", sender: mainD)
}
else{
UIAlertView(title: "BooksDetailsq", message: "Oops! No data found.", delegate: nil, cancelButtonTitle: "OK").show()
}
}
catch
{
print("Your Dictionary value nil")
}
print(dictionaryData)
}, failure: { (operation : AFHTTPRequestOperation, error : NSError) -> Void in
print(error, terminator: "")
})
manager.start()
}
Thanks,
Soap API Integration in Swift ?
Reviewed by KIRIT MODI
on
11:08:00
Rating:
AFNetworking no longer has AFHTTPRequestOperation
ReplyDeleteyes, You can easily update with new AFNetworking class,
DeleteNice. Simple and straight to the point.
ReplyDeleteGood Job
Thanks,
Delete