1.准备先下载待会要用到的工具 WSDL2ObjC-0.6.zip WSDL2ObjC-0.7-pre1.zip 我用的是WSDL2ObjC-0.6.zip1.1搭建asp.net WebService项目并且部署在IIS服务器上面创建WebService服务项目后先在Web ...
1.准备
先下载待会要用到的工具 WSDL2ObjC-0.6.zip WSDL2ObjC-0.7-pre1.zip
我用的是WSDL2ObjC-0.6.zip
1.1搭建asp.net WebService项目并且部署在IIS服务器上面
创建WebService服务项目后先在Web.config添加节点,设置WebService远程调试访问,否则会出现:
“测试窗体只能用于来自本地计算机的请求”。
<webServices><protocols><add name="HttpSoap" /><add name="HttpPost" /><add name="HttpGet" /><add name="Documentation" /></protocols></webServices>
DBOperation.cs代码如下:
/// <summary> /// 题库试卷目录表 ProblemPaper /// </summary> /// <returns>PPID(编号)PRKID(上一级)PTID(类型编号)Name(名称)ProblemNum(目录数量))</returns> public List<ProblemPaperEntity> ProblemPaper(String prkid) { List<ProblemPaperEntity> list = new List<ProblemPaperEntity>(); ProblemPaperEntity model = null; try { string sql = "select PPID,PRKID,PTID,Name,ProblemNum,Row_Number() over(order by PPID ) as row_number from ProblemPaper where 1=1"; sql += " and prkid in ( select * from getProblemResourseByID("+prkid+"))"; string s = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(s); con.Open(); SqlCommand cmd = new SqlCommand(sql, con); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { model = new ProblemPaperEntity(); model.PPID = reader.GetInt32(0); model.PRKID = reader.GetInt32(1); model.PTID = reader.GetInt32(2); model.Name = reader.GetString(3); model.ProblemNum = reader.GetInt32(4); list.Add(model); } reader.Close(); cmd.Dispose(); } catch (Exception) { } return list; }
开始的时候想将返回的NSString数据转化为NSDictionary即NSString-NSDictionary返回的数据为null
所以采用NSString-NSData-NSDictionary最后成功解决数据为null问题,数据成功拿到Name属性值和其他属性值
在这里我只打印Name属性值
6.总结
该博文面向初学者,大牛请不要喷。写到这里,又复习了好多知识,遇到之前没发现的错误,但是耐心下来,问题总会解决,
WebService和客户端源码有需要的话可以留下邮箱,既然来了,对你有帮助,推荐支持一下呗!
http://www.cnblogs.com/linmingjun/p/4382565.html 作者
原标题:iOS开发笔记 基于wsdl2objc调用asp.net WebService
关键词:ASP.NET
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。