想明确下,你说EMS本身是java开发的,你的意思是你有EMS的查询接口是吗?如果有查询接口的话这个应该说是比较好办的,这个与开发语言和平台无关,因为一般的查询接口简单点他就是个jsp(比如你说的java开发的)的页面,此时你只需要根据提供的接口组织好数据然后使用该接口就好。你可以使用HttpWebRequest来处理。
针对你说的,下午写了Demo,不过目前运行有些问题,主要是验证码的部分不好搞,如果能破解出他的验证码的话那这个Demo是可以运行的。
Demo中基本实现了拆解他网页结构以及对接口数据的POST操作,以及获取他返回的信息值。只是验证码没处理,所以不能直接运行。建议使用它们提供的接口来做,不然这个验证码是个大问题。
运单查询肯定需要EMS提供Web Service,如果没有,参考http://topic.csdn.net/u/20071226/21/594f87be-3ce6-4498-a018-080e5313973a.html
Web service是一个可行的方案:
IBM官方示例:(需要免费注册)
使用 Eclipse 和 Java SE 6 创建独立 Web Services 应用程序,第 1 部分: Web Services 服务端应用程序
https://www6.software.ibm.com/developerworks/cn/education/webservices/ws-eclipse-javase1/section2.html
另外,可参考:
http://fengyouhua.javaeye.com/blog/131538