Alamofire总是在响应中给我返回状态码500的错误

10

我面临以下问题,我正在尝试在我的应用程序中使用Alamofire来访问一些Web服务,这是我正在使用的代码:

Alamofire.request(.GET, "https://httpbin.org/get")
        .validate()
        .responseJSON { response in
            switch response.result {
            case .Success:
                print("Validation Successful")
            case .Failure(let error):
                print(error)
            }
    }
这个操作的结果是“验证成功”,这是对的,但问题在于当我尝试调用我的服务时,使用的是以下Web服务的URL,如果有人想要查看: https://ratid.com/RapidSentry/MiOSService.svc/GetUserIdentity... 你可以看到这个Web服务很好地工作了。但是当我使用我的URL调用相同的代码时,我遇到了以下错误:
Error Domain=com.alamofire.error Code=-6003 "Response status code was unacceptable: 500" UserInfo={NSLocalizedFailureReason=Response status code was unacceptable: 500}

我已经在一个安卓应用中使用了这个网络服务,并且GET请求可以正常工作。请帮忙解决这个问题,谢谢。

4个回答

6
我想对此提供反馈,这似乎是Xcode 7 Beta模拟器中的一个错误,因为我在物理设备上测试了该应用程序并且正常工作。当您重置模拟器并重新启动后,它也会再次开始工作。 这就是我们在使用beta版本时遇到的问题。

4
您可以在Alamofire/validation.swift文件中更改可接受状态码的范围,从200..<300改为200..<500。
请替换下面这行代码:
let acceptableStatusCodes: Range<Int> = 200..<300

使用这行代码
let acceptableStatusCodes: Range<Int> = 200..<500

如何在视图控制器中加载XIB并为其分配框架 - Krutarth Patel

3

状态码500表示服务器出现了问题,而不是你的代码有问题。

HTTP状态码


1
如果你点击URL,可以看到Web服务没有任何问题并返回JSON,你是正确的。但是我无法找出问题在哪里。 - Jose Raul Perera
1
我也遇到了相同的错误,你找到解决方法了吗? - Asad ali
1
我也遇到了这个问题。 - Emy Alsabbagh
1
我也面临着这个问题。有人可以解决吗? - Emy Alsabbagh

2

像这样将可接受的状态码范围传递给 validate 函数:

.validate(statusCode: 200..<500)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接