金蝶API 官方demo报错,解决方案
在金蝶API上开发的时候,金蝶官方给的demo是会报错的,这个报错需要修改一下就好了
using Kingdee.K3.API.SDK; using Newtonsoft.Json; //引用这两个是必须的
1 ApiEnvironment apiEnv = new ApiEnvironment(); 2 3 /// <summary> 4 /// 获取网络连接 5 /// </summary> 6 /// <returns></returns> 7 public string GetToken() 8 { 9 string authCode = "27d08b144e7394adfa87eaba75397b0c94f63e4b3bac81b1"; //这里是授权码 10 11 string apiUrl = "http://10.10.10.246:8990/"; //url 12 13 14 15 apiEnv.init(apiUrl, authCode); 16 17 if (apiEnv.isOk) //断点 18 { 19 if (apiEnv.StatusCode == 200) //断点 20 { 21 return apiEnv.Token; //断点 22 } 23 else 24 { 25 return apiEnv.Message; //断点 26 } 27 } 28 else 29 { 30 return "网络不通"; 31 } 32 } 33 34 35 36 /// <summary> 37 /// 新增生产领料单 38 /// </summary> 39 /// <returns></returns> 40 public string Save(string PPBomAPi) //PPBomAPi 是我传递的json参数 41 { 42 string objectMame = "PickList"; //不同类型的单据,需要修改这里 43 string actionName = "Save"; //我这是保存单据,审核或其他的,参考api文档 44 Dictionary<string, string> dctparam = new Dictionary<string, string>(); 45 46 47 48 byte[] postData = apiEnv.getPostData(PPBomAPi); 49 50 51 string z = GetToken(); 52 53 54 if (z == "网络不通") 55 { 56 return "网络不通"; 57 } 58 else 59 { 60 61 HttpResult result = apiEnv.DoAction(objectMame, actionName, postData); 62 if (result.httpOk) 63 { 64 if (result.apiResult.StatusCode == 200) 65 { 66 return result.apiResult.Data.ToString(); 67 //return result.apiResult.Message.ToString(); 68 //return "保存成功"; 69 } 70 else 71 { 72 return "-111"; //保存失败 73 } 74 } 75 else 76 { 77 return "网络不通"; 78 } 79 } 80 }
把以上的抄过去 修改url、授权码、单据类型等,json参数传给 Save(string PPBomAPi),在断点出查询是否成功就可以了