启用安全性后,从Eclipse启动Websphere会挂起

我有一个Websphere Application Server 8.0.0.6,它作为RAD的一部分安装。

我需要从Eclipse Java EE Kepler或Luna运行服务器。 禁用管理安全性时没有问题。 但是,一旦启用安全性,服务器将无法完全启动,或者Ecplise无法检测到它。

进度条停止在23%。 记录的最后一条消息是“服务器server1为电子商务开放”。 然而,状态仍然是“开始”。 过了一会儿,我得到一个错误,抱怨服务器没有在300秒内启动。 然后它尝试停止服务器,并且无限期地“停止”。

服务器启动,Eclipse似乎无法看到它。 我无法从Eclipse中访问管理控制台(虽然我可以使用浏览器),我无法发布或调试应用程序,我无法从Eclipse停止服务器。

开普勒和卢娜都会发生这种情况。

服务器在RAD中启动正常,或者在启动脚本启动时启动。

我已经检查了从RAD挂起的“服务器服务器1打开电子商务”的启动websphere服务器 。 还有一个类似的问题: RAD中的Websphere在启动时挂起 ,但没有解决方案。

更新:问题是在Websphere启动之后Ecipse和Websphere之间的通信(正如wFateem也指出的那样)。

Eclipse对Websphere进行SOAP调用以检查状态。 如果在WAS中禁用了管理安全性,它将接受纯HTTP中的SOAP调用。 启用安全性后,仅允许HTTPS。

我使用Eclipse内置的TCP-Monitor检查了Eclipse和WAS之间的通信。 使用禁用的安全性,我可以看到成功的SOAP调用。 启用安全性后,我希望只看到二进制SSL数据。 但是,Eclipse仍在尝试使用HTTP,当然没有任何成功。

Eclipse有一个WAS服务器设置,用于指示服务器是安全的,以及用于调用的用户和密码。 它甚至有一个与SSL通信有关的标志(“在SSL握手期间自动信任服务器证书”)。 但是,由于某种原因,它还没有使用SSL。

在我的旧开发机器上,我没有遇到任何问题,几天前它被我当前的机器所取代。

因此,当前状态是:Eclipse在与WAS通信时不使用SSL,即使它知道服务器是安全的。

现在的问题是:Eclipse没有使用SSL与安全服务器通信,我做错了什么?

如果您怀疑SSL存在问题,可以尝试以下解决方法。
启动服务器后(例如,通过命令行),转到Web管理控制台,然后转到: Global security > CSIv2 inbound communications并在传输部分中将传输设置为TCP-IP 。 保存并重新启动服务器。 这将禁用RMI / IIOP连接的SSL。

然后在服务器设置中的RAD中更改Server connection types...Manually provide connection settings并仅选择RMI

检查它是否会更好。

作为最后的手段,您也可以尝试启动服务器,然后退出RAD并再次重新启动RAD,它应该检测服务器已经运行。 但它不是很有用……

我为WebSphere 7和Eclipse Neon解决了同样的问题。 只需用ibm jdk 8运行eclipse(输入google“ibm jdk 8 download”)。

我的日食是

 -vm ..\ibm_sdk80\jre\bin\javaw.exe -vmargs -XX:+UseG1GC -XX:+UseStringDeduplication -Xms256m -Xmx1024m -XX:MaxPermSize=320m -Dcom.ibm.ws.management.event.max_polling_interval=1000 -Dcom.ibm.websphere.thinclient=true 

最好的问候,Sergey Batsura

我不太熟悉从Eclipse启动WAS。 但是,从它的声音来看,这看起来像IDE和WAS服务器之间的通信问题。 如果您能够启动服务器并获得“open for e-business”消息,但Eclipse无法看到正确的状态,这只有在启用安全性时才会发生,那么您需要了解Eclipse如何进行身份validation和执行与WAS服务器的SSL握手。

您可以毫无问题地启动服务器,但其他任务需要身份validation(停止服务器,检索状态等等)。

例如,您可能需要将WAS服务器的个人证书检索到Eclipse的本地信任库中。

尝试从Eclipse Luna启动WebSphere时,我遇到了同样的问题。 最后,我能够按照AleksanderKovač在开发人员工作论坛的回答中发布的指南开始它: 无法初始化SSL连接(WASCE7)

我希望这有帮助!

修改eclipse.ini非常重要。 首先指定WebSphere -vm BEFORE -vmargs以下是我的参数:

 --launcher.XXMaxPermSize 512M -vm C:\IBM\WebSphere\AppServer\java\jre\bin\javaw.exe -vmargs -Xms256m -Xmx1024m -XX:MaxPermSize=512m -Xmx1024m -Xshareclasses:name=IBMSDP_%u -Xcompressedrefs -Xquickstart -Xgcpolicy:gencon -Xmnx64m -XX:+UseCompressedOops -Dcom.ibm.ws.management.event.max_polling_interval=1000 -Dcom.ibm.websphere.thinclient=true 

在上述更改之后,启用安全性从eclipse到WebSphere的通信可以正常工作

也许这是一个愚蠢的建议,但你尝试过使用WebSphere Developer Tools吗? 它们使用P2安装在Eclipse(Luna或Kepler)之上

https://developer.ibm.com/wasdev/

查看此网页以了解如何安装这些工具

http://www-01.ibm.com/support/knowledgecenter/was_beta_devtools/com.ibm.websphere.wdt.doc/topics/t_install_wdt.htm

将eclipse.ini文件中的JDK更新为IBM JDB 1.8 64Bit。 我在Eclipse MARS中使用WAS 8.5.0。 -vm C:/IBM/WebSphere8.5/AppServer/java_1.8_64/bin/javaw

如果eclipse没有启动并返回code = 13,那么检查eclipse.ini版本是1.7 -vmargs -Dosgi.requiredJavaVersion = 1.7 -Xms256m -Xmx1024m

注意:我已经在谢尔盖的回答中发表了评论,但需要更新一些信息。