如何使用Java找到Exchange服务器版本?

时间:2011-11-16 17:10:49

标签: java exchange-server

我有一个连接到几个不同交换服务器的applet。此applet的某个部分将使用已提供的凭据启动Outlook Web Access会话。其中一个Exchange服务器将运行2003,另一个将运行2007.登录其中任何一个的代码略有不同,因此我有两种登录方式,具体取决于它是2007或2003服务器。有没有办法,使用Java,如果只知道IP地址,我可以弄清楚正在运行的Exchange Server版本是什么?

2 个答案:

答案 0 :(得分:1)

如果您只拥有IP,则可以尝试调用Exchange服务器提供的某些(Web)服务。看起来Exchange 2007提供了一些(Web)服务,因此您应该能够找到一个提供版本或登录方法提示的服务。

我不了解Exchange 2003,但如果您查找Exchange 2007提供的服务但找不到它,那么它不是2007版本 - 如果您知道自己只有2003或2007,那么您现在应该知道此服务器是Exchange 2003服务器。

总结:

  • 理想情况下,寻找可以在该IP(Web服务或某个套接字)上调用的通用服务,并告诉您该版本。
  • 如果没有此类服务,则查找仅由Exchange 2007提供的服务(如果可能,请查找)。然后尝试调用该服务,并从成功/失败中确定您是否拥有2007+版本。

希望有所帮助。

编辑:以下是有关如何使用Telnet协议获取Exchange服务器版本的一些其他信息:http://www.petri.co.il/remote_version_checking.htm

对于telnet连接,您可以使用Apache Commons Net

答案 1 :(得分:0)

Exchange 2007提供通过https://servername/ews/exchange.asmx公开的Web服务。

如果你在该地址上获得404,你就会知道它不是Exchange 2007.