【问题标题】:How to make SOAP API request and check for response in Swift [closed]如何在 Swift 中发出 SOAP API 请求并检查响应 [关闭]
【发布时间】:2016-11-10 18:10:39
【问题描述】:

我需要发出 SOAP API 请求并在 Swift 中检索响应。我是 SOAP API 和 Swift 的新手。我有一个 API 路径、API 方法和输入参数。输出为 JSON。

API 路径:http://testapp.Lzoom.com/V3/UserProfile_V3.asmx API方法:Check_MobileFlag_V3()

输入参数:

SessionId : 字符串

令牌:字符串

时间戳:字符串

输出参数:JSON

结果:整数

1 : 强制用户更换手机

-100 : 内部错误

-98 : 用户凭证错误,注销用户

【问题讨论】:

  • 如果有任何在线检查 Soap Api 的方法,也请参考。就像 Rest Api 一样,我使用 POSTMAN、RestClient 等。
  • 到目前为止你做了哪些没用的事情?
  • @Ali 感谢您的回复。我成功实施了。每次我管理的肥皂请求的主体都修改。此后按照以下说明单击。谢谢!!

标签: ios swift api soap


【解决方案1】:

我从您的问题中了解到,您不需要完整的soap 框架来进行调用和处理响应。在这种情况下,您应该使用简单的xml 解析器并构建您自己的soap xml 调用。

我会建议你使用 cocoapods 并将AEXML 集成到你的项目中

这里是简单的xmlsoap格式调用

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Header>
    <m:Trans xmlns:m="http://www.w3schools.com/transaction/" soap:mustUnderstand="1">234</m:Trans>
  </soap:Header>
  <soap:Body>
    <m:GetStockPrice>
      <m:StockName>AAPL</m:StockName>
    </m:GetStockPrice>
  </soap:Body>
</soap:Envelope>

你怎么能用 AEXML 构造它

let soapRequest = AEXMLDocument()
let attributes = ["xmlns:xsi" : "http://www.w3.org/2001/XMLSchema-instance", "xmlns:xsd" : "http://www.w3.org/2001/XMLSchema"]
let envelope = soapRequest.addChild(name: "soap:Envelope", attributes: attributes)
let header = envelope.addChild(name: "soap:Header")
let body = envelope.addChild(name: "soap:Body")
header.addChild(name: "m:Trans", value: "234", attributes: ["xmlns:m" : "http://www.w3schools.com/transaction/", "soap:mustUnderstand" : "1"])
let getStockPrice = body.addChild(name: "m:GetStockPrice")
getStockPrice.addChild(name: "m:StockName", value: "AAPL")
println(soapRequest.xmlString)

在准备好肥皂电话之后,您可以使用任何网络库

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-21
相关资源
最近更新 更多