gpt4 book ai didi

ios - 使用swift在ios中使用svc服务时出现错误代码400

转载 作者:搜寻专家 更新时间:2023-11-01 05:41:54 28 4
gpt4 key购买 nike

我正在使用 ios 中的 swift 调用服务,如下所示,我的服务在 android 版本上工作得很好,但是当我尝试让它在 ios 上工作时,它总是返回错误代码 400

下面是ios版本的代码

 var soapMessage = "<?xml version='1.0' encoding='UTF-16'?><soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body><GetAirports xmlns='http://groundspan.com/groundspan'/></soap:Body></soap:Envelope>"

// var urlString = "http://example.com/myeservice.svc"
var urlString = "http://example.com/myservice.svc?"
var nameSpace = "http://example.com/service"
var methodNam = "GetAirports"
var msgLength = String(countElements(soapMessage))
var url = NSURL(string: urlString)!
println("Url : \(url)")
var theRequest = NSMutableURLRequest(URL: url)
theRequest.addValue("text/xml; charset=utf-8", forHTTPHeaderField: "Content-Type")
theRequest.addValue(msgLength, forHTTPHeaderField: "Content-Length")
theRequest.addValue("http://example.com/service/IGroundSpanProcessorService/\(methodNam)", forHTTPHeaderField: "SOAPAction")
theRequest.HTTPMethod = "POST"
theRequest.HTTPBody = soapMessage.dataUsingEncoding(NSUTF16StringEncoding, allowLossyConversion: false)


var connection = NSURLConnection(request: theRequest, delegate: self, startImmediately: true)
connection?.start()

if (connection == true) {
var mutableData : Void = NSMutableData.initialize()
}else{
println("Error in connection")
}

它总是进入 else 连接 block 和五个连接错误,并且还会得到错误代码 400 错误。

请帮帮我。

最佳答案

我不确定为什么它会进入“连接错误” block ,但是几天前我不得不处理错误 400 Bad Request(我想这意味着那个)。首先,你应该使用像 Wireshark 这样的嗅探器(我也看到 Fiddler 在这里被推荐了很多)来检查你发送的消息以及你从服务器获得的信息。这可能会帮助您查看您是否收到了 WCF 不会自动解析的错误。

关于ios - 使用swift在ios中使用svc服务时出现错误代码400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28496869/

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