EBuild-API常见问题汇总
问题1:用户访问被防火墙屏蔽检查处理流程
E-Build API(原IBE)是面向航空公司和代理人,以及第三方的航空预订服务产品。用户通过客户端,使用固定IP访问E-Build API服务器,航信网络防火墙会对用户申报的IP进行访问授权,目前访问的地址为202.106.139.12 :6891。 部分用户会因为其运行环境配置异常,导致公网IP地址和上报航信网络的地址不一致,导致无法访问。在用户运行环境中表项为:
telnet 202.106.139.12 6891
正在连接到202.106.139.12...不能打开到主机的连接, 在端口 6891: 连接失败
这时候,用户往往怀疑航信网络未开通服务。航信需要利用在防火墙上捕捉到用户的访问记录,向用户提供切实的证据来说明此类问题。
为了排查此类问题,用户通过多次发送ping 202.106.139.12,或者telnet一个未监听端口,如202.106.139.12 6899(未监听端口),网络值班人员可以通过在防火墙日志上看到用户的访问,查看用户实际访问的IP。
操作流程如下:
1、用户联系研发E-Build技术人员,报告问题,同时提供申报的IP地址
2、研发E-Build技术人员,联系网控值班,准备进行故障检测
3、研发E-Build技术人员指导用户进行多次ping或者telnet一个未监听端口
4、网控值班在N分钟后查看防火墙日志,向研发技术人员提供用户实际IP地址。
5、研发E-Build技术人员向用户报告问题处理结果
在IBE系统中ServerHandlerYYYYMMDD_HH.log文件中记录了用户访问的用户访问授权信息,
如果用户访问时,使用了不正确的配置信息,会报告AccessDenied异常,通过查看日志文件,会得到类似下面的信息
< Sun Jun 03 11:00:02.355 CST 2012 >
Client 10.6.36.84:36095 Thread-2 connected. LocalPort:6891
< Sun Jun 03 11:00:02.355 CST 2012 >
Client 10.6.36.84:36095 IBEServer-81_20120603110002 validation infomation:
huairetd1 HAK969 0 0 COMPRESSED %00 0.9.1.0build061123 Security
< Sun Jun 03 11:00:02.356 CST 2012 >
Client 10.6.36.84:36095 IBEServer-81_20120603110002 set agentinfo.
office=HAK969, custom number=0, validation number=0
< Sun Jun 03 11:00:02.356 CST 2012 >
Socket validated: HUAIRETD1.10.6.36.84/255.255.255.255[0/10]0
< Sun Jun 03 11:00:02.356 CST 2012 >
Client 10.6.36.84:36095 IBEServer-81_20120603110002 validated, ready for command.
或者错误的信息
< Sun Jun 03 11:20:08.769 CST 2012 >
Client 124.114.200.83:56830 Thread-2 connected. LocalPort:6891
< Sun Jun 03 11:20:08.770 CST 2012 >
Client 124.114.200.83:56830 IBEServer-80_20120603112008 validation infomation:
dcp.b2c pek099 1099 1 COMPRESSED %00 0.9.1.0build061123 Security
< Sun Jun 03 11:20:08.773 CST 2012 >
Client 124.114.200.83:56830 IBEServer-80_20120603112008 3835198506333585761 throw out Exception:
com.travelsky.ibe.exceptions.AccessDenyException: Access Denied 124.114.200.83
2、TRFD接口生成退票单问题
TRFD接口用于生成退票单,你在填写完退票单后提交时可能会抛如下错误信息:
1.CHECK CURRENCY CODE
有时你会发现当你填写了正确的货币时也会报这个错误,那么你就查一下旅客姓名是不是写成中文了。
2.REFUND & TKT NBR NOT MATCH
这是由于当天在这台打票机下已经对该票号生成过退票单。这种情况下只能在这台打票机下提出退票单进行修改。
3.CAN NOT PRINT NEW REFUND
如果你昨天提交了一张票的退票单,今天你还想提取这个退票单就会报这个错误,因为退票单只在当天有效。
3、出票问题一:
在测试系统无法出票,报“ ETDZ LB-0101032 T2OTKT ERR-1324 >TSTB T2OTKT$D(0) ”
或“ETDZ LB-0101032 T2OTKT ERR-1324 >TSTB T2OTKT$D(50)”之类的错误
原因:
这种错误发生的原因是主机测试系统load机不完备或者主机开发人员在测试系统调试程序,导致相应的指令无法执行。
解决方案
订座系统固定每周周一,周四凌晨对测试系统进行Load机,在周二、周五上午可能会出现这种错误,用户只需等待,如果当天9:30分钟仍旧没有恢复,可以联系ibesupport
对于其他时段出现的此类故障,需要联系ibesupport,让当日主机值班人员协助解决。
4、出票问题二:
出票的时候,遇到反馈这个错误信息"RTNoPNRException NoPNRException: No such PNR:XXXXX"
这个问题不是ETDZ有问题,而是ETDZ后的RR舱位出现了NOSuchPNR的错误。
我们建议,你在出票ETDZ操作和出票后置RR操作之间做一个时间间断,线程休息100秒,这样能避免这种问题出现的概率。
5、出票问题三:
深航电子商务B2G团队编码NCM0RS 做出票操作,均未成功出票,抛出异常:Error: com.travelsky.ibe.exceptions.IBEException:Error : com.travelsky.ibe.exceptions.IBEException: Error : ETDZ LB-041030 TCTRQS ERR-525 >TST:DB TCTRQS$D(142) 15:32:34 46993
出现这种错误的原因是:这个怀疑是PNR太大,航段数为26X(2+ARNK),需要26个票号,可能现在出票会超时。
6、出票问题四:
出票方法调用后返回以下信息:
Error: com.travelsky.ibe.exceptions.IBEException:Error : com.travelsky.ibe.exceptions.IBEException: Error : INPUT INACTIVE
出现这种错误的原因一般是,打票机被非IBE PID建控,IBE etdz方法要求先调用IBE的pid对打票机进行建控,由于打票机已经被其PID控制,所以建控失败,从而无法etdz
例如:
客户的22号打票机被74055,工作号15318监控,但是没有打开INPUT。15318不是IBE这里用的工作号
DEVICE INFORMATION DISPLAY - DEVICE 22
DEVICE STATUS DEVICE DEFINITION
------------- -----------------
CONTROL PID: 74055 OFFICE: BJS191
CONTROL AGENT: 15318 PID: 95399
STATUS: UP ATTRIBUTE: TAT/ET
INPUT: INACTIVE MODE: DEMAND
OUTPUT: INACTIVE TYPE: 4
NACK: CURRENCY: CNY2
TICKETS: 0
BOARDING PASS: 0
AMS PID: 31135
LAST TKT # AIRLINE TICKET NUMBER RANGE
---------- ------- ----------------------
2020796866 BSP 2020796832 / 2020797031
EBuild-API常见问题汇总的更多相关文章
- Hive常见问题汇总
参考资料: Hive常见问题汇总 啟動hive出錯,提示沒有權限 2015年04月02日 09:58:49 阅读数:31769 这里小编汇集,使用Hive时遇到的常见问题. 1,执行#hive命令进入 ...
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
给 iOS 应用添加推送功能是一件比较麻烦的事情,本篇文章收集了集成 jpush-react-native 的常见问题,目的是为了帮助用户更好地排查问题 1. 收不到推送 确保是在真机上测试,而不是在 ...
- Nuxt.js的踩坑指南(常见问题汇总)
本文会不定期更新在nuxt.js中遇到的问题进行汇总.转发请注明出处,尊重作者,谢谢! 强烈推荐作者文档版踩坑指南,点击跳转踩坑指南 在Nuxt的官方文档中,中文文档和英文文档都存在着不小的差异. 1 ...
- CentOS安装Oracle数据库详细介绍及常见问题汇总
一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- SVN集中式版本控制器的安装、使用与常见问题汇总
SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,集中式版本控制器 官方网站:https://www.visualsvn.com/ 下载右边的服务器端,左边的客 ...
- H5项目常见问题汇总及解决方案
H5项目常见问题汇总及解决方案 H5 2015-12-06 10:15:33 发布 您的评价: 4.5 收藏 4收藏 H5项目常见问题及注意事项 Meta基础知识: H5页 ...
- Installshield脚本拷贝文件常见问题汇总
原文:Installshield脚本拷贝文件常见问题汇总 很多朋友经常来问:为什么我用CopyFile/XCopyFile函数拷贝文件无效?引起这种情况的原因有很多,今天略微总结了一下,欢迎各位朋友跟 ...
- MVC 网站部署常见问题汇总
一:TGIShare项目是一个MVC5的网站程序,部署在了IIS上,使用的Windows验证方式,并在本机设置了计划任务定时调用某个地址执行命令.问题汇总如下: 1.Window Server 200 ...
- J2EE进阶(十)SSH框架整合常见问题汇总(一)
SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...
随机推荐
- 触摸事件 Touch MotionEvent ACTION
MotionEvent简介 当用户触摸屏幕时,将创建一个MontionEvent对象,MotionEvent包含了关于发生触摸的位置.时间信息,以及触摸事件的其他细节. 获取MontionEvent对 ...
- Linux服务的管理
1.Linux服务的介绍 系统服务 --某些服务的服务的对象是Linux系统本身,或者Linux系统系统用户,这类服务我们称为系统服务(System Service) 网络服务 --提供给网络中的其他 ...
- js设置元素的onclick传参方法
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...
- SQL用row_number进行高速循环
SQL用row_number进行循环查询 declare @count int=0,@R int=0select row_number()over(order by RoomID) as R,* in ...
- UITableView实现分组, 并且点击每个分组后展开
效果图: 简单说下实现思路: 数据传过来之后, 先创建好对应个数的分组头部View, 也就是要在 - (UIView *)tableView:(UITableView *)tableView view ...
- POP动画引擎中Layer与CALayer的一点区别
POP动画引擎是facebook提供的一个开源框架, 可以实现很多的动画效果, 这里就不一一介绍啦, 有兴趣的童鞋请移步: https://github.com/facebook/pop 下面简单的讲 ...
- 1.Tomcat配置
1.启动 解压缩安装包后,点击startup.bat,保持控制台窗口开启 浏览器中输入http://localhost:8080 后看到启动界面则表示启动成功 点击shutdown.bat则关闭Tom ...
- 《Linux内核分析》 week6作业-Linux内核fork()系统调用的创建过程
一.进程控制块PCB-stack_struct 进程在操作系统中都有一个结构,用于表示这个进程.这就是进程控制块(PCB),在Linux中具体实现是task_struct数据结构,它主要记录了以下信息 ...
- css样式-ime-mode text-transform
今天遇到一个新的css样式: ime-mode text-transform 有效小作用 取值:auto : 默认值.不影响ime的状态.与不指定 ime-mode 属性时相同 active : ...
- jquery判断页面滚动条(scroll)是上滚还是下滚
单纯判断滚动条方向 function scroll( fn ) { var beforeScrollTop = document.body.scrollTop, fn = fn || function ...