今天调接口,申请短信验证码的,很简单,就一个参数,手机号,是WebService,调试过程中有很多问题,
一开始用AFN进行网络请求,报错,后来用系统自带原生请求数据,一样的报错,如下
如果接口是
http://10.10.2.64:8010/WebService/WebPhoneCode.asmx?op=GetPhoneCode,这种样式,则会报如下错
<NSHTTPURLResponse: 0x127896cf0> { URL: http://10.10.2.64:8010/WebService/WebPhoneCode.asmx?op=GetPhoneCode } { status code: 500, headers { "Cache-Control" = private; "Content-Length" = 506; "Content-Type" = "application/soap+xml; charset=utf-8"; Date = "Tue, 16 Aug 2016 09:12:21 GMT"; Server = "Microsoft-IIS/8.5"; "X-AspNet-Version" = "4.0.30319"; "X-Powered-By" = "ASP.NET";} }
返回数据:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><soap:Code><soap:Value>soap:Receiver</soap:Value></soap:Code><soap:Reason><soap:Text xml:lang="zh-CHS">服务器无法处理请求。 ---> 根级别上的数据无效。 第 1 行,位置 1。</soap:Text></soap:Reason><soap:Detail /></soap:Fault></soap:Body></soap:Envelope>
如果接口是如下类型
http://10.10.2.64:8010/WebService/WebPhoneCode.asmx/GetPhoneCode
则返回数据略有变化,还是不能用
<NSHTTPURLResponse: 0x14ea7b030> { URL: http://10.10.2.64:8010/WebService/WebPhoneCode.asmx/GetPhoneCode } { status code: 500, headers { "Cache-Control" = private; "Content-Length" = 3297; "Content-Type" = "text/html; charset=utf-8"; Date = "Tue, 16 Aug 2016 09:14:10 GMT"; Server = "Microsoft-IIS/8.5"; "X-AspNet-Version" = "4.0.30319"; "X-Powered-By" = "ASP.NET"; } }
返回数据:
<!DOCTYPE html> <html> <head> <title>运行时错误</title> <meta name="viewport" content="width=device-width" /> <style> body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt} .marker {font-weight: bold; color: black;text-decoration: none;} .version {color: gray;} .error {margin-bottom: 10px;} .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; } @media screen and (max-width: 639px) { pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; } } @media screen and (max-width: 479px) { pre { width: 280px; } } </style> </head> <body bgcolor="white"> <span><H1>“/”应用程序中的服务器错误。<hr width=100% size=1 color=silver></H1> <h2> <i>运行时错误</i> </h2></span> <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "> <b> 说明: </b>服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。 <br><br> <b>详细信息:</b> 若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”特性设置为“Off”。<br><br> <table width=100% bgcolor="#ffffcc"> <tr> <td> <code><pre> <!-- Web.Config 配置文件 --> <configuration> <system.web> <customErrors mode="Off"/> </system.web> </configuration></pre></code> </td> </tr> </table> <br> <b>注释:</b> 通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”特性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。<br><br> <table width=100% bgcolor="#ffffcc"> <tr> <td> <code><pre> <!-- Web.Config 配置文件 --> <configuration> <system.web> <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/> </system.web> </configuration></pre></code> </td> </tr> </table> <br> </body> </html>
联系后台,修改了接口,可以了
