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

Java 启用安全性后,从Eclipse启动Websphere将挂起,java,eclipse,rad,websphere-8,Java,Eclipse,Rad,Websphere 8,我有一个WebSphereApplicationServer8.0.0.6,它是作为RAD的一部分安装的 我需要从EclipseJavaEEKepler或Luna运行服务器。禁用管理安全性时没有问题。但是,一旦启用了安全性,服务器要么无法完全启动,要么Ecplise无法检测到它 进度条停止在23%。记录的最后一条消息是“服务器服务器1已为电子商务打开”。然而,状态仍然是“开始”。过了一会儿,我收到一个错误,抱怨服务器没有在300秒内启动。然后,它尝试停止服务器,并无限期地保持“停止”状态 服务器

我有一个WebSphereApplicationServer8.0.0.6,它是作为RAD的一部分安装的

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

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

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

开普勒和露娜都会这样

服务器在RAD中启动良好,或者在使用启动脚本启动时启动良好

我查过了。有一个类似的问题:,但没有解决方案

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

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

我检查了Eclipse之间的通信,并且正在使用Eclipse中内置的TCP监视器。禁用安全性后,我可以看到成功的SOAP调用。启用安全性后,我希望只看到二进制SSL数据。然而,Eclipse仍然在尝试使用HTTP,当然没有任何成功

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

在这个场景中,我的旧开发机器没有问题,几天前它被我当前的机器所取代

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


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

我不太熟悉从Eclipse开始。但是,从声音上看,这似乎是IDE和WAS服务器之间的通信问题。如果您能够启动服务器并收到“open for e-business”消息,但Eclipse无法看到正确的状态,并且只有在启用了安全性时才会出现这种情况,那么您需要了解Eclipse如何对WAS服务器进行身份验证并执行SSL握手

您可以在没有任何问题的情况下启动服务器,但其他任务需要身份验证(停止服务器、检索状态等)


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

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

然后在服务器设置中的RAD中,将
服务器连接类型…
更改为
手动提供连接设置
,并仅选择
RMI

检查它是否工作得更好


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

也许这是一个愚蠢的建议,但是您是否尝试过使用WebSphere Developer工具?它们使用P2安装在Eclipse之上,可以是Luna,也可以是开普勒

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


我在尝试从EclipseLuna启动WebSphere时遇到了相同的问题。最后,我能够按照Aleksander Kovač在开发者工作论坛的回答中发布的指导方针开始:


我希望这有帮助

我为WebSphere7和EclipseNeon解决了相同的问题。 只需使用IBMJDK8运行eclipse(在google中键入“IBMJDK8下载”)

我的月食是

-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.ini是很重要的。 首先,在-vmargs之前指定WebSphere-vm 以下是我的参数:

--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的通信工作正常

将eclipse.ini文件中的JDK更新为IBM JDB 1.8 64位。我在Eclipse MARS上使用的是WAS8.5.0。 -虚拟机 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

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

我也有类似的问题(
Websphere
application server在添加安全性后在eclipse中挂起)。
通过从appserver/runtimes中添加
com.ibm.ws.orb_8.5.0.jar
文件并将其放置在C:\Temp\endorned文件夹中,并在eclipse.ini文件中指定相同内容,解决了此问题,如下所示。
例如:

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

感谢您的意见。在进一步的调查中,我得出了类似的结论,尽管我仍然被困住了。我已经相应地更新了我的问题。谢谢,这样做了。这是一个我不想在生产机器上使用的变通方法,但对于开发来说是可以接受的。谢谢Sergey。这就是我的解决方案!!解决了runni