2016-07-08 35 views
-4

我需要在Swift中创建SOAP API请求并检索响应。我是SOAP API和Swift中的新成员。我有一个API路径,API方法和输入参数。输出是以JSON格式。如何制作SOAP API请求并检查Swift中的响应

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

输入参数:

SessionID的:字符串

令牌:字符串

时间戳:字符串

输出参数: JSON

结果:整数

1:强制用户更改移动

-100:内部错误

-98:用户凭据是错误的,注销用户

+0

如果有任何在线方法来检查肥皂Api的,请参阅它们。像Rest Api的我使用POSTMAN,RestClient等 – Sam

+1

到目前为止,你做了什么没有工作? – Andrej

+0

@Ali谢谢你的回应。我成功实施了它。每次我管理的肥皂请求都会被修改。此后按照下面的说明点击。谢谢 !! – Sam

回答

1

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

我会建议你用用的CocoaPods和集成AEXML到您的项目

这很简单XML SOAP格式,使通话

<?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) 

之后比准备你的肥皂电话可以使用任何网络库

+0

是否有任何在线服务来检查SOAP API的POSTMAN for REST API? – Sam

+0

这个https://chrome.google.com/webstore/detail/boomerang-soap-rest-clien/eipdnjedkpcnlmmdfdkgfpljanehloah?hl=en有Chrome扩展程序 –