Starting Websphere from Eclipse hangs when security is enabled

こ雲淡風輕ζ 提交于 2019-12-09 12:17:27

问题


I have a Websphere Application Server 8.0.0.6, which was installed as part of RAD.

I need to run the server from an Eclipse Java EE Kepler or Luna. There is no problem when administrative security is disabled. However, once security is enabled, the server either doesn't start completely, or Ecplise is unable to to detect it.

The progress bar stops at 23%. The last message logged is "Server server1 open for e-business". The status however is still "starting". After a while I get an error complaining that the server didn't start within 300 seconds. It then tries to stop the server, and remains in "stopping" indefinitely.

The server is started, Eclipse just seems unable to see it. I can't access the admin console from within Eclipse (though I can with a browser), I can't publish or debug applications, and I can't stop the server from Eclipse.

This happens with both Kepler and Luna.

The server starts fine in RAD, or when started with the start script.

I have checked start websphere server from RAD hangs at "Server server1 open for e-business" . There is a similar question: Websphere in RAD hangs on startup, but there was no solution.

Update: The problem is the communication between Ecipse and Websphere, after Websphere has started (as wFateem also has pointed out).

Eclipse makes SOAP calls to Websphere to check the status. If administrative security is disabled in WAS, it accepts SOAP calls in plain HTTP. Once security is enabled, only HTTPS is allowed.

I checked communications between Eclipse and WAS using the TCP-Monitor built into Eclipse. With disabled security I can see the successful SOAP calls. After enabling security I expected to see just the binary SSL data. However, Eclipse was still trying to use HTTP, without any success of course.

Eclipse has a setting for the WAS server to indicate that the server is secured, and which user and password to use for the calls. It even has a flag pertaining to the SSL communication ("automatically trust server certificate during SSL handshake"). But still, it is not using SSL for some reason.

I had no problem in this scenario on my old development machine, which got replaced by my current machine a few days ago.

So, the current status is: Eclipse does not use SSL when talking to the WAS, even though it knows the server is secured.

The question now is: What did I do wrong that Eclipse does not use SSL to talk to a secured server?


回答1:


If you suspect problems with SSL, you could try the following workaround.
Once server is started (e.g. via command line), go to web admin console and then to: Global security > CSIv2 inbound communications and in transport section set transport to TCP-IP. Save and restart the server. This will disable SSL for RMI/IIOP connections.

Then in RAD in Server settings change Server connection types... to Manually provide connection settings and select only RMI.

Check if it will work better.

As last resort you could also try to start the server, then exit the RAD and restart the RAD again, it should detect server as already running. But it's not very useful...




回答2:


I solved same problems for WebSphere 7 and Eclipse Neon. Just run eclipse with ibm jdk 8 (type in google "ibm jdk 8 download").

My eclipse ini is

-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

Best regards, Sergey Batsura




回答3:


I'm not too familiar with starting WAS from Eclipse. However, from the sound of it this looks like a communication issue between your IDE and the WAS server. If you're able to start the server and you get the "open for e-business" message, but Eclipse is unable to see the proper status and this only occurs when security is enabled then you need to look into how Eclipse authenticates and performs SSL handshake with the WAS server.

You can start the server without any issues, but other tasks would require authentication (stopping server, retrieving status, etc...).

You may need to retrieve the WAS server's personal certificate into Eclipse's local trust store for example.




回答4:


I was experiencing the same issue when trying to start WebSphere from Eclipse Luna. Finally I was able to start it following the guidelines posted by Aleksander Kovač in an answer from developer works forum: Unable to initialize SSL connection(WASCE7)

I hope this helps!




回答5:


it's important to modify the eclipse.ini. First of all specifying the WebSphere -vm BEFORE -vmargs Here are my parameters:

--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

After the above changes, communication from eclipse to WebSphere with security enabled works without problems




回答6:


Maybe this is a silly advise, but have you tried using WebSphere Developer Tools? They are installed on top of Eclipse, either Luna or Kepler, using P2

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

Look at this web page to learn how to install the tools

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




回答7:


Update the JDK in eclipse.ini file to IBM JDB 1.8 64Bit. I am using WAS 8.5.0 with Eclipse MARS. -vm C:/IBM/WebSphere8.5/AppServer/java_1.8_64/bin/javaw

If eclipse does not start and return code=13, then check in eclipse.ini version is 1.7 -vmargs -Dosgi.requiredJavaVersion=1.7 -Xms256m -Xmx1024m

Note:I have already commented in Sergey's answer,but needed to update some info.




回答8:


I had the similar issue (Websphere application server hung in eclipse after adding Security).
Resolved the same by adding com.ibm.ws.orb_8.5.0.jar file from your appserver/runtimes and placed it in C:\Temp\endorsed folder and specify the same in your eclipse.ini file as below.
Eg:

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


来源:https://stackoverflow.com/questions/26988638/starting-websphere-from-eclipse-hangs-when-security-is-enabled

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!