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
}


版权声明:

相关文章推荐

Swift-->Http网络请求(NSURLSession, Alamofire)

网络请求用的比较多的是Get和Post请求,最为学习记录,先介绍Get请求.后续更新Post请求. 本文介绍,在IOS开发中,苹果原生的NSURLSession框架和第三方开源的Alamofire1...

swift 数据请求Alamofire的使用

一、使用Alamofire进行数据请求 1,以GET请求为例 (1)不带参数,不带结果处理 1 Alamofire.request("https://h...
  • maiwc
  • maiwc
  • 2016-10-11 11:04
  • 2525

Swift 2.3 【封装网络请求业务类 AFNetworking/ Alamofire】

本文描述 Swift 发送网络请求的业务类写法。提供 AFNetworking 和 Alamofire 两种框架网络请求。 其实两个框架本质一样,均出自一个作者,安装可到 github 去下载或者使用...

Swift3.0 Alamofire 网络请求的封装--->get,post,upload图片上传

import Foundation import UIKit import Alamofire import SwiftyJSON private let NetworkRequestShareIn...

Swift: 用Alamofire做http请求,用ObjectMapper解析JSON

跟不上时代的人突然间走在了时代的前列,果然有别样的风景。首先鄙视一下AFNetworking。这个东西实在太难用了。不想封装都不行,要不写一大堆代码。NSURL *URL = [NSURL URLWi...

Swift基础之使用Alamofire库进行网络请求和断点下载

好久没有写过Swift相关的文章博客了,这里我就展示一下关于使用Alamofire库的方法1、什么是Alamofire(1)Alamofire 的前身是 AFNetworking。AFNetworki...

SWIFT闭包,介绍,使用(ALAMOFIRE封装 异步请求)

闭包说明: 首先说明简明扼要的说明一下:闭包,可以看做 JAVA中匿名函数。 我们来看APPLE文档: 一个函数,可以看做一个特殊的闭包 嵌套函数,是一个捕获其所在函数中上下文的闭包 闭包表...

swift 的网络请求--Alamofire框架

[1]import Alamofirepublic struct DesignerNewsService { // Designer News API Doc: http://developer...

Swift - 使用Alamofire通过HTTPS进行网络请求,及证书的使用

(本文代码已升级至Swift3)  我原来写过一篇文章介绍如何使用证书通过SSL/TLS方式进行网络请求(Swift - 使用URLSession通过HTTPS进行网络请求,及证书的使用),当时...

Swift3.0 Alamofire网络请求的封装(get,post,upload图片上传)

import Foundation import UIKit import Alamofire import SwiftyJSONprivate let NetworkRequestShareInst...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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