gpt4 book ai didi

ios - 如何在 Swift 代码中调用另一个类中的 SOAP 请求/响应?

转载 作者:行者123 更新时间:2023-11-28 07:01:19 27 4
gpt4 key购买 nike

情况是这样的。我正在使用 XCode 6.4 和 Yosemite。

我有两个类:“ViewController”和一个新类“WebService”。我需要在 ViewController 中启动 WebService 类。

WebService 是这个代码:Code Here

当我调用 WebService 类时,我需要从 ViewController 传递一个字符串参数。

你能帮帮我吗?我是 iOS 上 Swift 的新手。

P.S:抱歉我的英语不好。

最佳答案

好的,终于可以了。在此示例中,我使用按钮单击事件进行 Web 服务调用。

CallWebService.swift(没有 XML 解析):

class CallWebService: UIViewController
{

func BuildMessage1(Rupp: String)-> String
{
var is_SoapMessage = "<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/'><soap:Body><HelloAppleAndroid xmlns='http://testestest.org/'><RUPP>\(Rupp)</RUPP></HelloAppleAndroid></soap:Body></soap:Envelope>"

return is_SoapMessage
}


func HelloWebService(Rupp: String)
{
var is_SoapMessage = BuildMessage1(Rupp)

var is_URL: String = "http://testesttest/webservice.asmx"

var lobj_Request = NSMutableURLRequest(URL: NSURL(string: is_URL)!)
var session = NSURLSession.sharedSession()
var err: NSError?

lobj_Request.HTTPMethod = "POST"
lobj_Request.HTTPBody = is_SoapMessage.dataUsingEncoding(NSUTF8StringEncoding)
lobj_Request.addValue("testest.it", forHTTPHeaderField: "Host")
lobj_Request.addValue("text/xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
lobj_Request.addValue(String(count(is_SoapMessage)), forHTTPHeaderField: "Content-Length")
lobj_Request.addValue("http://testest.org/HelloAppleAndroid", forHTTPHeaderField: "SOAPAction")

var task = session.dataTaskWithRequest(lobj_Request, completionHandler: {data, response, error -> Void in
println("Response: \(response)")
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Body: \(strData)")




if error != nil
{
println("Error: " + error.description)
}
})

task.resume()
}

在 ViewController.swift 中:

@IBAction func btnClicked(sender: AnyObject)
{
var getRupp = "ARGTEST093467555"
CallWebService().HelloWebService(getRupp)
}

关于ios - 如何在 Swift 代码中调用另一个类中的 SOAP 请求/响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31961722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com