开票服务器组件接口返回码
web 返回值常用

web 返回值常用Web返回值常用为标题Web开发中,返回值是指服务器向客户端返回的数据或信息。
返回值在Web开发中起到至关重要的作用,它可以告诉客户端请求的结果是成功还是失败,并携带相关的数据或错误信息。
本文将介绍Web开发中常用的返回值,并探讨它们的作用和用法。
一、200 OK200 OK是最常见的返回值之一,表示请求成功。
当客户端向服务器发送请求,并且服务器成功处理了该请求时,服务器会返回200 OK。
这个状态码告诉客户端请求已经成功完成,服务器将返回客户端所需的数据。
在Web开发中,200 OK常用于GET请求,表示成功获取资源。
二、404 Not Found404 Not Found是指请求的资源不存在。
当客户端向服务器请求一个不存在的资源时,服务器会返回404 Not Found。
这个状态码告诉客户端请求的资源未被找到,可能是由于资源被删除、链接错误或者URL拼写错误等原因导致的。
在Web开发中,404 Not Found常用于处理资源不存在的情况,提醒客户端资源无法找到。
三、500 Internal Server Error500 Internal Server Error是指服务器内部错误。
当服务器在处理请求时发生了错误,无法完成客户端的请求时,服务器会返回500 Internal Server Error。
这个状态码告诉客户端服务器出现了内部错误,无法完成请求。
在Web开发中,500 Internal Server Error常用于处理服务器端错误,提示客户端发生了无法预料的错误。
四、302 Found302 Found是指临时重定向。
当服务器需要临时将客户端的请求重定向到另一个URL时,会返回302 Found。
这个状态码告诉客户端请求的资源已经被临时移动到另一个URL,客户端需要重新发送请求到重定向后的URL。
在Web开发中,302 Found常用于处理网页跳转、临时重定向等情况。
税控开票服务器组件接口规范标准版V1.9(2016.04.04)

void _stdcall PostAndRecvEx(IN char* pszPost, OUT char* pszRecv) 参数: pszPost 输入 XML 信息 pszRecv 返回 XML 信息 返回值:无
税控开票服务器组件接口规范
// 设置传入参数 pIn.setMemory(bytes); jnPKServer.setParameter(0, pIn); // 处理传出参数 if (objs != null && objs.length == 1 && objs[0] instanceof Number) { pOut = Pointer.createPointer (((Number) objs[0]).intValue()); } else { pOut = Pointer.createPointer (1000000); } jnPKServer.setParameter(1, pOut); // 执行调用 jnPKServer.invoke(); String bak = pOut.getAsString(); log .info("log输出为======" + bak); return bak; } catch (Exception e) { log .error("Jnative遇到错误", e); } finally { try { if (pIn != null) { pIn.dispose(); } if (pOut != null) { pOut.dispose(); } } catch (NativeException e) { log.error("Jnative遇到错误", e); } } return null;
服务器返回状态码大全

服务器返回状态码大全服务器返回的各种状态码到底表示什么意思呢,哪些说明没有问题,哪些返回状态是出问题了,这个返回状态码表示的是什么意思,下面是服务器各种返回状态码的意义:100(继续)请求者应当继续提出请求。
服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。
101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备进行切换。
200(成功)服务器已成功处理了请求。
通常,这表示服务器提供了请求的网页。
如果您的robots.txt文件显示为此状态,那么,这表示Googlebot已成功检索到该文件。
201(已创建)请求成功且服务器已创建了新的资源。
202(已接受)服务器已接受了请求,但尚未对其进行处理。
203(非授权信息)服务器已成功处理了请求,但返回了可能来自另一来源的信息。
204(无内容)服务器成功处理了请求,但未返回任何内容。
205(重置内容)服务器成功处理了请求,但未返回任何内容。
与204响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。
206(部分内容)服务器成功处理了部分GET请求。
300(多种选择)服务器根据请求可执行多种操作。
服务器可根据请求者(Useragent)来选择一项操作,或提供操作列表供请求者选择。
301(永久移动)请求的网页已被永久移动到新位置。
服务器返回此响应(作为对GET或HEAD请求的响应)时,会自动将请求者转到新位置。
您应使用此代码通知Googlebot某个网页或网站已被永久移动到新位置。
302(临时移动)服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
此代码与响应GET和HEAD请求的301代码类似,会自动将请求者转到不同的位置。
但由于Googlebot会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知Googlebot 某个页面或网站已被移动。
303(查看其他位置)当请求者应对不同的位置进行单独的GET请求以检索响应时,服务器会返回此代码。
接口数据返回---标准格式

接⼝数据返回---标准格式开发中,如果前端和后端,在没有统⼀返回数据格式,我们来看⼀下会发⽣什么:后台开发⼈员A,在接⼝返回时,习惯返回⼀个返回码code=0000,然后返回数据;后台开发⼈员B,在接⼝返回时,习惯直接返回⼀个boolean类型的success=true,然后返回数据;后台开发⼈员C,在接⼝返回时,习惯在接⼝失败时返回码为code=0000。
可以看到,上⾯的三个开发⼈员,都没有⼤问题,没有谁对谁错,只要给前端接⼝⽂档,前端都是可以接上接⼝的。
但是,在项⽬功能越来越多,接⼝数量持续增长时,对开发⼈员⽽⾔,就是⼀种灾难,同⼀个前端,如果对接A和C,那她接接⼝时会很崩溃。
因为返回的code,同样是0000,但是⼀个代表成功,⼀个代表失败,这时前端就会去找两个⼈沟通,看可不可以统⼀⼀下,但是两个⼈⼀看,最近写了⼏⼗个接⼝了,还和别⼈对接过,牵⼀发动全⾝,没法做改动了。
看,这就是灾难。
所以,在项⽬开发中,初期搭建框架时,定好通⽤的接⼝数据返回格式,定义好全局的状态码,是⾮常有必要的。
⼀个项⽬,甚⾄整个公司,遵循同⼀套接⼝返回格式规范,这样可以极⼤的提⾼进度,降低沟通成本。
下⾯的两个类,⼀个是数据返回格式,是⾃定义的,很简单,但是可通⽤,这⾥分享⼀下,返回给前端时,根据情况,直接调⽤此类中的⽅法做返回值;另⼀个是状态码,这个可以根据项⽬实际情况,⾃⼰做修改。
接⼝数据返回格式:1. package response;2.3. import domain.ReturnCode;4.5. /**6. * Created by lightClouds9177. * Date 2017/11/108. * Description:接⼝统⼀返回格式9. */10. public class ResponseWrapper {11.12. /**是否成功*/13. private boolean success;14. /**返回码*/15. private String code;16. /**返回信息*/17. private String msg;18. /**返回数据*/19. private Object data;20.21.22. /**23. * ⾃定义返回结果24. * 建议使⽤统⼀的返回结果,特殊情况可以使⽤此⽅法25. * @param success26. * @param code27. * @param msg28. * @param data29. * @return30. */31. public static ResponseWrapper markCustom(boolean success,String code,String msg,String data){32. ResponseWrapper responseWrapper = new ResponseWrapper();33. responseWrapper.setSuccess(success);34. responseWrapper.setCode(code);35. responseWrapper.setMsg(msg);36. responseWrapper.setData(data);37. return responseWrapper;38. }39.40. /**41. * 参数为空或者参数格式错误42. * @return43. */44. public static ResponseWrapper markParamError(){45. ResponseWrapper responseWrapper = new ResponseWrapper();46. responseWrapper.setSuccess(false);47. responseWrapper.setCode(ReturnCode.PARAMS_ERROR.getCode());48. responseWrapper.setMsg(ReturnCode.PARAMS_ERROR.getMsg());49. return responseWrapper;50. }51.52. /**53. * 查询失败54. * @return55. */56. public static ResponseWrapper markError(){57. ResponseWrapper responseWrapper = new ResponseWrapper();58. responseWrapper.setSuccess(false);59. responseWrapper.setCode(ReturnCode.FEAILED.getCode());60. responseWrapper.setMsg(ReturnCode.FEAILED.getMsg());61. responseWrapper.setData(null);62. return responseWrapper;63. }64.65. /**66. * 查询成功但⽆数据67. * @return68. */69. public static ResponseWrapper markSuccessButNoData(){70. ResponseWrapper responseWrapper = new ResponseWrapper();71. responseWrapper.setSuccess(true);72. responseWrapper.setCode(ReturnCode.NODATA.getCode());73. responseWrapper.setMsg(ReturnCode.NODATA.getMsg());74. responseWrapper.setData(null);75. return responseWrapper;76. }77.78. /**79. * 查询成功且有数据80. * @param data81. * @return82. */83. public static ResponseWrapper markSuccess(Object data){84. ResponseWrapper responseWrapper = new ResponseWrapper();85. responseWrapper.setSuccess(true);86. responseWrapper.setCode(ReturnCode.SUCCESS.getCode());87. responseWrapper.setMsg(ReturnCode.SUCCESS.getMsg());88. responseWrapper.setData(data);89. return responseWrapper;90. }91.92. public boolean isSuccess() {93. return success;94. }95.96. public void setSuccess(boolean success) {97. this.success = success;98. }99.100. public Object getData() {101. return data;102. }103.104. public void setData(Object data) {105. this.data = data;106. }107.108. public String getMsg() {109. return msg;110. }111.112. public void setMsg(String msg) {113. this.msg = msg;114. }115.116. public String getCode() {117. return code;118. }119.120. public void setCode(String code) {121. this.code = code;122. }123.124. @Override125. public String toString() {126. return "ResponseWrapper{" +127. "success=" + success +128. ", code='" + code + '\'' +129. ", msg='" + msg + '\'' +130. ", data=" + data +131. '}';132. }133. }状态码1. package domain;2.3. /**4. * Created by lightClouds9175. * Date 2017/11/106. * Description:接⼝返回码和返回值7. * 结合返回数据封装类ResponseWrapper,统⼀接⼝的数据返回格式8. */9. public enum ReturnCode {10.11. SUCCESS("0000","查询成功"),12. NODATA("0001","查询成功⽆记录"),13. FEAILED("0002","查询失败"),14. ACCOUNT_ERROR("1000", "账户不存在或被禁⽤"),15. API_NOT_EXISTS("1001", "请求的接⼝不存在"),16. API_NOT_PER("1002", "没有该接⼝的访问权限"),17. PARAMS_ERROR("1004", "参数为空或格式错误"),18. SIGN_ERROR("1005", "数据签名错误"),19. AMOUNT_NOT_QUERY("1010", "余额不够,⽆法进⾏查询"),20. API_DISABLE("1011", "查询权限已被限制"),21. UNKNOWN_IP("1099", "⾮法IP请求"),22. SYSTEM_ERROR("9999", "系统异常");23.24. private String code;25. private String msg;26.27. public String getCode() {28. return code;29. }30.31. public String getMsg() {32. return msg;33. }34.35. ReturnCode(String code, String msg) {36. this.code = code;37. this.msg = msg;38. }39.40. }返回⽰例:ResponseWrapper{success=true, code='0000', msg='查询成功', data=数据}1.2. ResponseWrapper{success=true, code='0001', msg='查询成功⽆记录', data=null}1.2. ResponseWrapper{success=false, code='0002', msg='查询失败', data=null}1.2. ResponseWrapper{success=false, code='1004', msg='参数为空或格式错误', data=null}1.2. ResponseWrapper{success=true, code='0000', msg='⾃定义msg', data=这是⾃定义的数据} </div>。
服务器返回代码

1: 信息
消息:
描述:
100 Continue
服务器仅接收到部分请求,如果服务器没有拒绝该请求,客户端应该继续发送其余的请求。
101 Switching Protocols
服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。
用户必须首先使用代理服务器进行验证,这样请求才会被处理。
408 Request Timeout
请求超出了服务器的等待时间。
409 Conflict
由于冲突,请求无法被完成。
410 Gone
被请求的页面不可用。
411 Length Required
"Content-Length"未被定义。如果无此内容,服务器不会接受请求。
415 Unsupported Media Type
由于媒介类型不被支持,服务器不会接受请求。
416 Requested Range Not Satisfiable
客户端请求部分文档,但是服务器不能提供被请求的部分。
417 Expectation Failed
服务器不能满足客户在请求中指定的请求头。
103 Checkpoint
用于PUT或者POST请求恢复失败时的恢复请求建议。
2: 成功
消息:
描述:
200 OK
请求成功(这是对HTTP请求成功的标准应答。)
201 Created
请求被创建完成,同时新的资源被创建。
202 Accepted
供处理的请求已被接受,但是处理未完成。
203 Non-Authoritative Information
php常用返回状态码

php常用返回状态码摘要:1.引言2.状态码的定义与作用3.PHP 中的状态码4.常用的PHP 状态码4.1 200 系列:成功4.2 400 系列:客户端错误4.3 500 系列:服务器错误5.状态码的使用建议6.总结正文:PHP 常用返回状态码在Web 开发中,服务器与客户端之间的通信是非常重要的。
为了更好地表示通信的状态,PHP 提供了各种状态码,用于告诉客户端当前的处理结果。
本文将详细介绍PHP 中常用的状态码。
1.状态码的定义与作用状态码(HTTP Status Code)是HTTP 协议中的一种响应状态,它由三位数字组成,用以表示服务器处理请求的结果。
状态码可以分为五大类,分别是:- 200 系列:表示成功- 400 系列:表示客户端错误- 500 系列:表示服务器错误- 300 系列:表示重定向- 410 系列:表示gone(已不存在)2.PHP 中的状态码在PHP 中,我们可以通过设置响应头中的`HTTP_STATUS`来设置状态码。
例如:```php<?phphttp_response_code(200); // 设置状态码为200header("HTTP/1.0 200 OK"); // 设置响应头>```3.常用的PHP 状态码以下是PHP 中常用的状态码:4.1xx:信息提示- 100 Continue:继续,表示请求已接收,客户端应继续发送请求。
- 101 Switching Protocols:切换协议,表示服务器将切换到另一种协议。
4.2xx:成功- 200 OK:表示请求成功,服务器已处理请求并返回请求的资源。
- 201 Created:已创建,表示请求成功,并且服务器已创建了新的资源。
- 202 Accepted:已接受,表示请求已接收,但尚未处理完成。
- 204 No Content:无内容,表示请求成功,但服务器没有返回任何资源。
微信接口调用返回码一览表

微信接⼝调⽤返回码⼀览表微信返回码⼀览表:返回码错误码描述说明40001invalid credential不合法的调⽤凭证40002invalid grant_type不合法的grant_type40003invalid openid不合法的OpenID40004invalid media type不合法的媒体⽂件类型40007invalid media_id不合法的media_id40008invalid message type不合法的message_type40009invalid image size不合法的图⽚⼤⼩40010invalid voice size不合法的语⾳⼤⼩40011invalid video size不合法的视频⼤⼩40012invalid thumb size不合法的缩略图⼤⼩40013invalid appid不合法的AppID40014invalid access_token不合法的access_token40015invalid menu type不合法的菜单类型40016invalid button size不合法的菜单按钮个数40017invalid button type不合法的按钮类型40018invalid button name size不合法的按钮名称长度40019invalid button key size不合法的按钮KEY长度40020invalid button url size不合法的url长度40023invalid sub button size不合法的⼦菜单按钮个数40024invalid sub button type不合法的⼦菜单类型40025invalid sub button name size不合法的⼦菜单按钮名称长度40026invalid sub button key size不合法的⼦菜单按钮KEY长度40027invalid sub button url size不合法的⼦菜单按钮url长度40029invalid code不合法或已过期的code40030invalid refresh_token不合法的refresh_token40036invalid template_id size不合法的template_id长度40037invalid template_id不合法的template_id40039invalid url size不合法的url长度40048invalid url domain不合法的url域名40054invalid sub button url domain不合法的⼦菜单按钮url域名40055invalid button url domain不合法的菜单按钮url域名40066invalid url不合法的url41001access_token missing缺失access_token参数41002appid missing缺失appid参数41003refresh_token missing缺失refresh_token参数41004appsecret missing缺失secret参数41005media data missing缺失⼆进制媒体⽂件41006media_id missing缺失media_id参数41007sub_menu data missing缺失⼦菜单数据41008missing code缺失code参数41009missing openid缺失openid参数41010missing url缺失url参数42001access_token expired access_token超时42002refresh_token expired refresh_token超时42003code expired code超时43001require GET method需要使⽤GET⽅法请求43002require POST method需要使⽤POST⽅法请求43003require https需要使⽤HTTPS43004require subscribe需要订阅关系44001empty media data空⽩的⼆进制数据44002empty post data空⽩的POST数据44003empty news data空⽩的news数据44004empty content空⽩的内容44005empty list size空⽩的列表45001media size out of limit⼆进制⽂件超过限制45002content size out of limit content参数超过限制45002content size out of limit content参数超过限制返回码错误码描述说明45003title size out of limit title参数超过限制45004description size out of limit description参数超过限制45005url size out of limit url参数长度超过限制45006picurl size out of limit picurl参数超过限制45007playtime out of limit播放时间超过限制(语⾳为60s最⼤)45008article size out of limit article参数超过限制45009api freq out of limit接⼝调动频率超过限制45010create menu limit建⽴菜单被限制45011api limit频率限制45012template size out of limit模板⼤⼩超过限制45016can't modify sys group不能修改默认组45017can't set group name too long sys group修改组名过长45018too many group now, no need to add new组数量过多50001api unauthorized接⼝未授权。
网站服务器返回状态码

网站服务器返回状态码在浏览网页时,我们经常会遇到各种各样的状态码。
这些状态码是由网站服务器返回的,用于告诉浏览器当前请求的处理情况。
状态码能够帮助开发人员和用户判断请求是否成功,以及出现错误时如何处理。
本文将介绍一些常见的网站服务器返回状态码及其含义。
1. 1xx - 信息性状态码1xx系列的状态码表示请求已经被接收,服务器正在处理。
常见的1xx状态码有:- 100 Continue:服务器已经接收到请求头,并且客户端应该继续发送请求体。
- 101 Switching Protocols:服务器已经理解了客户端的请求,并将通过Upgrade头将协议切换为不同的协议。
2. 2xx - 成功状态码2xx系列的状态码表示请求已成功被服务器接收、理解和处理。
常见的2xx状态码有:- 200 OK:请求成功,并返回相应的内容。
- 201 Created:请求已成功并创建了新的资源。
- 204 No Content:请求成功,但没有返回任何内容。
3. 3xx - 重定向状态码3xx系列的状态码表示客户端需要进一步的操作才能完成请求。
常见的3xx状态码有:- 301 Moved Permanently:被请求的资源已永久性移动到新位置,并将来所有的请求都应使用新的URL。
- 302 Found:被请求的资源已临时移动到新位置,但将来的请求还要继续使用原始URL。
- 304 Not Modified:客户端可以使用缓存的版本,而不需要再次请求服务器。
4. 4xx - 客户端错误状态码4xx系列的状态码表示客户端发生了错误。
常见的4xx状态码有:- 400 Bad Request:服务器无法理解客户端发送的请求,通常是因为请求语法错误。
- 403 Forbidden:服务器理解请求,但拒绝执行,通常是因为没有权限访问请求的资源。
- 404 Not Found:服务器无法找到请求的资源。
5. 5xx - 服务器错误状态码5xx系列的状态码表示服务器发生了错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
错误号对照表1, "命令参数错误"2, "时钟没响应"3, "时钟停止"4, "金税卡状态异常,请退出系统重新进入" 5, "记录区数据满"6, "记录区整理后数据仍满"7, "IC卡不匹配"8 , 金税卡处于锁定状态9, "已到锁死期"14, "分厂IC卡中无退回发票卷"15, "分厂IC卡中无可未退读回的标志" 16, "IC卡中的退票发票区已满"19, "会计日抄税提示"21, "金税卡由于未报税锁死,不能开票" 27, "总厂卡有税未报,发票卷不可退总厂" 36, "记录区有效数据最大地址越界"49, "金税卡和IC卡不匹配"55, "分厂IC卡中的分配发票区已满"56, "本月(期)开票数量已满,抄税提示" 65, "IC卡中无新购发票"68, "需要操作员权限"71, "不能生产测试"72, "不能始化时钟"75, "抄税起始时间大于截止时间"79, "无相关授权记录"81, "检索发票时间过早"82, "发票张数为0,没有可作废发票"83, "查询时间大于当前时间"84, "查询时间过早"85, "会计日到,禁止操作分配和退回发票卷" 86, "检索时间错"87, "IC卡中发票卷时间错"88, "检索参数错误"89, "未找到指定发票明细"90, "被减数大于减数错误"91, "检索参数错误"99, "开票数据有问题"100, "时钟不能往前改"101, "没检测到IC卡"102, "IC卡EDC错"103, "IC卡奇偶校验错"104, "IC卡链接错"105, "IC卡返回数据有误" 106, "IC卡选择文件错"107, "IC卡读操作错"108, "IC卡写操作错"109, "IC卡校验PIN错"110, "IC卡取随机数错"111, "IC卡外部认证错"112, "IC卡接收长度错"113, "IC卡其他错误"114, "IC卡更新密钥错"115, "IC卡通信超时"116, "IC卡协议类型错"117, "IC卡PPS请求失败" 120, "写入发票明细错误" 121, "写入Flash错误"122, "Flash块已坏"123, "无法创建地址表"124, "擦除Flash失败"125, "写FLASH逻辑号错" 126, "FLASH芯片损坏"127, "写eeprom参数错"128, "写eeprom失败"129, "EEPROM地址错误" 130, "发票明细长度没有定义" 131, "生产测试读写数据不一致" 132, "发票明细有误"133, "开票时发票明细长度错误" 134, "ecc发现1bit错"135, "ecc error"136, "无效的ecc参数"137, "发票明细记录为空" 150, "报税盘认证校验和错" 151, "报税盘认证税号不匹配" 152, "报税盘认证时间不匹配" 153, "报税盘认证随机数不匹配" 154, "报税盘认证IC卡不匹配" 155, "IC卡清卡校验和错" 156, "IC卡清卡税号不匹配" 157, "IC卡清卡时间不匹配" 158, "IC卡清卡随机数不匹配" 159, "IC卡清卡IC卡不匹配" 160, "报税盘与金税卡不匹配"161, "会计日抄税后,可开发票最大数量以满,请及时报税" 162, "不能分配开票终端发票"163, "不能撤销非开票终端发票"164, "发票卷和开票终端不匹配"165, "开票终端号超过限制"166, "开票终端号授权非法"167, "介质类型和操作不匹配"168, "已开发票明细数太多不能更改介质"169, "IC卡中有标志未处理"170, "未到会计日或上期税未报成功"172, "作废明细不属于本期"176, "无可用发票"182, "没有二级发票标志"188, "远程抄报清卡时IC卡中无报税资料"191, "需到会计日抄税"195, "上期报税已经成功,无旧税"199, "无远程报税授权"200, "远程抄报清卡IC卡号不匹配"202, "上期税没有报成功"203, "IC卡上有报税资料"204, "IC卡上有报税成功标志"205, "远程抄报清卡累加和错"209, "IC卡上有退卷"218, "远程抄报清卡随机数不匹配"222, "IC卡上有新卷,无法抄税"223, "已到会计日,需要抄税后才能查询本月领用存" 224, "IC卡容量非法"227, "远程抄报清卡时间不匹配"229, "标志数据校验和错"230, "远程抄报清卡税号不匹配"231, "IC卡授权错误(没授权)"232, "数据校验和错"233, "授权信息非法"235, "口令长度过长"236, "管理员登录口令错误"237, "操作员口令错误"238, "操作员锁死"239, "操作权限错误"251, "写金税卡错误"252, "读金税卡错误"255, "未查到数据"256,"超过开票限额"512"金税卡未打开"-1, "未知错误"1007, 金税卡不能独占1011, 金税卡成功开启3001 金税卡已经打开4001, 传入发票数据不合法4002, 开票前金税卡状态错4003, 金税卡开票调用错误4004, 开票后取金税卡状态错4011, 开票成功4012, 开票失败4013, 所开发票已作废4014, 销方与购方税号相同5001, 未找到发票或清单5011, 打印成功5012, 未打印5013, 打印失败6001, 当月发票库未找到该发票6002, 该发票已经作废6011, 作废成功6012, 未作废6013, 作废失败4014, 金税卡加锁错误4015, 金税卡解锁错误4016, 数据加密错误4017, 开票成功写数据库失败4018, CA初始化错误4019, CA解密错误2001, CAKey信息错误2002 Key已过期2003 Key中TaxCode格式不对2004 非本服务器的Key6014, 已作废1012, 代码异常1013, 用户取消操作1014, 金税卡初始化失败1015, 金税卡开启失败1016, 金税卡已关闭5014, 未找到发票的开票终端5015, 非本终端填开的发票5016, 非本终端所在组填开的发票9001, 连接服务器失败9002, 金税卡已打开9003, 税号不相符9004, 此卷已无发票9696, 查询金税卡锁定状态失败9697, "金税卡处于锁定状态" 1013 , 用户取消操作1017 , 没有注册文件1018 , 注册文件名错1019 , CA取证书序列号失败1020 , CA取税号失败1021, 最得Key类型错误7001, 查询发票传入错误8001, 此销售单据已开7002 取金税卡时钟错误。