Alamofire怎么请求WebService

原创 2015年11月19日 10:46:51

func reqWebService() {
let URL = NSURL(string: "http://115.29.41.12:83/serForImccoy.asmx")!
let action: String = "http://imccoy.com/webservices/isUser"
let mutableURLRequest: NSMutableURLRequest = NSMutableURLRequest(URL:URL)

let values = "{\"userId\": \"test\", \"pwd\": \"pwd\"}";
let soapMsg: String = toSoapMessage("isUser", params: "json", paramValues: values)

//mutableURLRequest.setValue("application/soap+xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
//么的,oc中,Content-Type是application/soap+xml就可以访问,swift里,就不行,必须与.asmx接口保持一致!
mutableURLRequest.setValue("text/xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
mutableURLRequest.setValue(action, forHTTPHeaderField: "SOAPAction")
mutableURLRequest.setValue(String(soapMsg.length), forHTTPHeaderField: "Content-Length")
mutableURLRequest.HTTPMethod = "POST"
mutableURLRequest.HTTPBody = soapMsg.dataUsingEncoding(NSUTF8StringEncoding)

var result = ""
Alamofire.request(mutableURLRequest).responseString(encoding: NSUTF8StringEncoding) { (_, _, result: String?, _) -> Void in
println("服务器返回的内容:\(result!)")
}
}

func toSoapMessage(methodName: String, params: String, paramValues: String) -> String {
var message: String = String()
message += "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
message += "<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/\">"
message += "<soap:Body>"
message += "<\(methodName) xmlns=\"http://imccoy.com/webservices/\">"
message += "<\(params)>\(paramValues)</\(params)>"
message += "</\(methodName)>"
message += "</soap:Body>"
message += "</soap:Envelope>"
println("请求消息体: \(message)")
return message
}


alamofire GET请求带中文参数遇到的问题

alamofire GET请求带中文参数问题
  • u014134886
  • u014134886
  • 2016年03月28日 14:42
  • 1937

Swift 之 Alamofire 网络请求、取消请求

前言 Alamofire是一个使用Swift开发的网络请求库,其开发团队是AFNetworking的原团队。它语法简洁,采用链式编程的思想,使用起来是相当的舒服。本质是基于NSURLSession进...
  • lvchenqiang_
  • lvchenqiang_
  • 2017年08月19日 23:46
  • 2658

Swift - Alamofire简单GET和POST使用

在Object-C中AFNetworking几乎是我们不可或缺的第三方库,使用起来非常方便,在Swift中,Alamofire是对应AFNetworking的第三方库,使用方法完全一样,下面看看常用的...
  • CodingFire
  • CodingFire
  • 2016年07月18日 16:28
  • 8937

Swift - Alamofire与Cache封装实现网络缓存、下载

对Alamofire与Cache的封装实现对网络数据的缓存,可以存储JSON、String、Data,接口简单明了. 封装Alamofire下载,使用更方便. 如有问题,欢迎提出,不足之处,欢迎纠正,...
  • mqz1228
  • mqz1228
  • 2017年10月18日 18:31
  • 234

Alamofire 上传图片入门教程(上)

Alamofire 上传图片
  • yangmeng13930719363
  • yangmeng13930719363
  • 2016年07月18日 22:52
  • 4997

关于Alamofire缓存机制的分享

Alamofire是IOS的一个swift开源项目.是由之前Object-C的AFNetworing的作者在Swift出来以后,根据同样的需求编写的.简单易用.关于它的介绍我这里就不再赘述了.因为网上...
  • aseseven
  • aseseven
  • 2016年07月10日 09:56
  • 2042

iOS开发 - swift通过Alamofire实现https通信

https相关 先推荐博主用OC实现的https通信: iOS开发 - 用AFNetworking实现https单向验证,双向验证 http://blog.csdn.net/codingfire...
  • CodingFire
  • CodingFire
  • 2017年01月12日 11:44
  • 2814

Alamofire源码分析

Alamofire源码分析
  • brycegao321
  • brycegao321
  • 2017年07月18日 15:45
  • 365

(Swift) iOS Apps with REST APIs(三) -- 使用Alamofire和SwiftyJSON进行REST API调用

重要说明: 这是一个系列教程,非本人原创,而是翻译国外的一个教程。本人也在学习Swift,看到这个教程对开发一个实际的APP非常有帮助,所以翻译共享给大家。原教程非常长,我会陆续翻译并发布,欢迎交流与...
  • cd826_dong
  • cd826_dong
  • 2017年07月12日 18:45
  • 469

借鉴Alamofire解决异步回调问题(Swift)

遇到的问题   今天在做一个swift练习demo时遇到了这样一个问题,我需要实现一个gps定位功能,于是封装一个LocationManager类去处理定位相关的逻辑,外部调用者需要获取定位信息时,直...
  • zhaochen_009
  • zhaochen_009
  • 2017年03月03日 14:25
  • 1957
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Alamofire怎么请求WebService
举报原因:
原因补充:

(最多只允许输入30个字)