ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 7示例 ### 7.1最简单请求示例(推荐) 示例源代码位置: ![](https://img.kancloud.cn/d0/ea/d0eaae3e27351a72935874e1a5c21cd5_280x259.png) 必须在源代码的根目录下添加 tws.properties 配置文件,配置参数内容如下: ``` server.url.rest=http://168.33.130.43/tws/rest connection.timeout=60000 cert.crt.path=D:/twscerts/szfsWS0000000001.crt cert.pfx.path=D:/twscerts/szfsB00000000001.pfx cert.pfx.pwd=12345678 #schema.zip=D:/schema.zip ``` 调用示例代码如下图 – 以一个主动查询账户验证处理结果的业务为例 ![](https://img.kancloud.cn/b9/b3/b9b3209f10125fbe09ae855a50a2644a_511x391.png) REST请求结果: ``` <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SzfsTwsReturn> <reqmsgtype>INFOTRANSQUERY</reqmsgtype> <reqversion>1.0</reqversion> <reqsubnode>B00000000002</reqsubnode> <reqmsgno>14295858708901</reqmsgno> <status>99</status> <remark>根据msgtype[INFOTRANSQUERY]和 version[1.0]系统查找不到对应的服务 </remark> </SzfsTwsReturn> ``` ### 7.2API 注入参数示例 示例源代码位置: ![](https://img.kancloud.cn/7a/d0/7ad068fb3f4b5fa536c8549720f2f4bf_279x256.png) 调用方式示例: ![](https://img.kancloud.cn/68/c2/68c2dce3371f1d5f7b298736ebc4a768_539x328.png) ### 7.3配置文件外置示例 示例源代码位置: ![](https://img.kancloud.cn/35/b1/35b17a19773949688f3becf4c59dca58_279x269.png) 调用方式示例: ![](https://img.kancloud.cn/de/a1/dea1a74e428c66ec8710bf246ab78751_447x199.png) ### 7.4扩展 HTTP 实现示例 示例源代码位置: ![](https://img.kancloud.cn/7b/7e/7b7e1c7c3c764ee5fe1891fddab9f60d_289x303.png) 实现 TwsHttpRequest 接口,用自已的 HTTP 组件实现请求发起和响应内容抽 取的方法: ![](https://img.kancloud.cn/22/fb/22fb70f232652dbbfbf6f695b9a6e5b4_593x596.png) 把扩展的 TwsHttpRequest 接口实现类实例注入请求中 ![](https://img.kancloud.cn/02/7b/027ba7478ee5d1fd4737d8c05116efb0_439x235.png) ### 7.5原始 POST 参数示例 该样例以手工形式装组 POST 请求的所有参数,并实现对报文内容的加密与签名 示例源代码位置: ![](https://img.kancloud.cn/91/b3/91b32d1fbcb2fecbf0f7ac98ed63e164_275x284.png) 限于篇幅,更多细节请阅读该示例源代码 ### 7.6异步回调 Server 示例 当请求的业务接口响应模式选择为异步时,要求接入商户需要自行开发用于接收回调的Server,可以用任何语言开发,不做限制,下面以 Java Servlet 为范例做一个简单说明。 以 Eclispe 为开发工具,建立一个动态 Web 工程,内容大致如下图所示 ![](https://img.kancloud.cn/dc/8d/dc8da20568a71454778a836cd6e70434_232x241.png) 引入 tws-adpter-2.0.jar 做为依赖项 web.xml 定义内容如下 ![](https://img.kancloud.cn/3f/fc/3ffce20dc6bb0fb11fdb35cb3dc7dece_596x252.png) 指定一个 Servlet 来处理请求参数,参数和报文标准的文档描述完全一样,是: msgtype、version、subnode、sendtime、msgno、resptype、ziptype、respurl、signature、msgbody、gatewayversion Servlet 非常简单,可能同时处理 GET 和 POST,具体直连接口系统以什么样的方式请求过来,取决于之前商户发起的模式,你是 POST,它回调就用 POST,你是 GET,它回调就是 GET,保持一致。 ![](https://img.kancloud.cn/4d/ee/4deeb38a44c76287ac72d52a8947423e_486x333.png) 处理流程大概如下 ![](https://img.kancloud.cn/8a/8f/8a8f766ab490fb148889a09fde7d991c_576x662.png) 处理返回 xml 签名的调用如下: ![](https://img.kancloud.cn/67/f2/67f2359d400fb668334f6d16f0f20540_717x346.png) 由于 Java 开发一个 Web Server 的模式也是多种多样的,该例子仅是以最简单的范例进行说明,具体可以参考详细代码,也可以自行按照类似的思路开发自己的 Server