加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

带有Alamofire的Swift 2.0 soap请求发送xml参数

发布时间:2020-12-14 04:55:49 所属栏目:百科 来源:网络整理
导读:我想对此Web服务示例请求: http://www.holidaywebservice.com//HolidayService_v2/HolidayService2.asmx?wsdl 我需要发送一个参数“countryCode”.我不知道怎么能用alamofire做到这一点.以及如何获得解析xml结果的响应. 这就是我在邮差中所做的,但我想知道
我想对此Web服务示例请求: http://www.holidaywebservice.com//HolidayService_v2/HolidayService2.asmx?wsdl

我需要发送一个参数“countryCode”.我不知道怎么能用alamofire做到这一点.以及如何获得解析xml结果的响应.

这就是我在邮差中所做的,但我想知道如何在快速中做同样的事情.

enter image description here

谢谢你的帮助.

解决方法

试试吧

>将发出POST请求
> URL = http://holidaywebservice.com/HolidayService_v2/HolidayService2.asmx?wsdl
>参数将发送到编码部分
>编码:.Custom =>
>创建了一个mutbleRequest
> a.您可以直接使用URL或b.新网址
>重要的是mutableRequest.HTTBody,它是使用必要值放置soap-message的地方(类型String)
>标题可以根据Web服务和API而有所不同,在一种情况下可以具有登录/密码/令牌或仅授权
>行 – > “Content-Type”:或“Content-Length”取决于具体情况.
> SWXMLHash.parse(response.data!)将处理响应,你可以在[AlamoFire / Usage / Response Handling](https://github.com/Alamofire/Alamofire)中看到更多信息

Alamofire.request(.POST,"http://holidaywebservice.com/HolidayService_v2/HolidayService2.asmx?wsdl",parameters: nil,encoding: .Custom({
   (convertible,params) in
       //a.
       let mutableRequest = convertible.URLRequest.copy() as!                NSMutableURLRequest
       // or 
       //b.
       mutableRequest.URL =NSURL(string: theUrlString)
       let mutableReques02 = NSMutableURLRequest(URL: theURL!)
       //
       //mutableReques02.HTTPBody =....

       mutableRequest.HTTPBody =       
            "<?xml version="1.0" encoding="UTF-8"?>
            <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:sap-com:document:sap:rfc:functions"><SOAP-ENV:Body>
              <hs:GetHolidaysAvaible>
              <hs:countrycode> UnitedStates</hs:countrycode>
              </hs:GetHolidaysAvaible>
             </SOAP-ENV:Body></SOAP-ENV:Envelope>".dataUsingEncoding(NSUTF8StringEncoding,allowLossyConversion: false)

    return (mutableRequest,nil)}),headers: 
    ["Username": "login",// Login API
     "Password": "password",// Password API
     "AuthenticatedToken" : "35432",// Authenticated API
     "Authorization": "Basic nasiouynvo8eyt829409",// Authenticated API
    "Accept" :       "text/xml","Content-Type" : "text/xml; charset=UTF-8",// Type content and charset accept 
    "Accept-Charset" : "UTF-8",])
 .responsePropertyList { response in 
       let xml = SWXMLHash.parse(response.data!)
                print(xml) 
}

注意:我的英语不是很好

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读