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

时间:2014-11-18 07:16:00

标签: java eclipse rad websphere-8

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

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

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

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

Kepler和Luna都会发生这种情况。

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

我查了start websphere server from RAD hangs at "Server server1 open for e-business"。还有一个类似的问题:Websphere in RAD hangs on startup,但没有解决方案。

更新:问题是在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与安全服务器通信,我做错了什么?

8 个答案:

答案 0 :(得分:5)

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

我的日食ini是

-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

答案 1 :(得分:4)

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

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

检查它是否会更好。

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

答案 2 :(得分:1)

我不太熟悉从Eclipse启动WAS。但是,从它的声音来看,这看起来像IDE和WAS服务器之间的通信问题。如果您能够启动服务器,那么您就可以打开电子商务"消息,但Eclipse无法看到正确的状态,这只有在启用安全性时才会发生,然后您需要查看Eclipse如何对WAS服务器进行身份验证和执行SSL握手。

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

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

答案 3 :(得分:1)

我在尝试从Eclipse Luna启动WebSphere时遇到了同样的问题。最后,我能够按照AleksanderKovač在开发者工作论坛的回答中发布的指南开始它:Unable to initialize SSL connection(WASCE7)

我希望这有帮助!

答案 4 :(得分:1)

修改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的通信可以正常工作

答案 5 :(得分:0)

也许这是一个愚蠢的建议,但您是否尝试过使用WebSphere Developer Tools?它们安装在Eclipse的顶部,Luna或Kepler,使用P2

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

答案 6 :(得分:0)

将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

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

答案 7 :(得分:0)

我遇到了类似的问题(Websphere应用服务器在添加安全性后挂在eclipse中)。
通过从您的应用服务器/运行时添加com.ibm.ws.orb_8.5.0.jar文件来解决此问题,并将其放置在C:\ Temp \ endorsed文件夹中,并在eclipse.ini文件中指定相同的文件,如下所示。
例如

  • vmargs
  • Djava.endorsed.dirs = C:\ Temp \ endorsed