问题现象
在部署EJB时报如下错误。
系统无法创建SOAP连接器以连接到端口8879上的主机localhost。
问题分析
正常这种情况是Dmgr和Nodeagent相关服务出现异常或者没有启动造成的。
如果有如下报错,则可能是配置了安全性导致的。
Exception creating admin client
com.ibm.websphere.management.exception.ConnectorException: ADMC0016E: 系统无法创建 SOAP 连接器以连接到端口 8879 上的主机 localhost。
at com.ibm.websphere.management.AdminClientFactory.createAdminClientPrivileged(AdminClientFactory.java:635)
at com.ibm.websphere.management.AdminClientFactory.access$000(AdminClientFactory.java:127)
at com.ibm.websphere.management.AdminClientFactory$1.run(AdminClientFactory.java:210)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63)
at com.ibm.websphere.management.AdminClientFactory.createAdminClient(AdminClientFactory.java:206)
at nc.bs.framework.was.admin.AdminUtils.newAdminClient(AdminUtils.java:111)
at nc.bs.framework.was.admin.WasSetup.init(WasSetup.java:62)
at nc.bs.framework.was.admin.WasSetupStarter.main(WasSetupStarter.java:152)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at nc.bs.framework.tool.config.util.impl.WasUtils.invokeStarterMain(WasUtils.java:367)
at nc.bs.framework.tool.config.cluster.was.WasClusterConfigPanel.readWasServers(WasClusterConfigPanel.java:150)
at nc.bs.framework.tool.config.cluster.was.WasClusterConfigPanel.access$200(WasClusterConfigPanel.java:22)
at nc.bs.framework.tool.config.cluster.was.WasClusterConfigPanel$1.run(WasClusterConfigPanel.java:125)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:83)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
at java.lang.reflect.Constructor.newInstance(Constructor.java:437)
at com.ibm.websphere.management.AdminClientFactory.createAdminClientPrivileged(AdminClientFactory.java:457)
... 15 more
解决方案
1、检查/etc/hosts文件是否添加主机名和IP。
2、重启Dmgr和Nodeagent。
3、检查WebSphere是否配置了安全性。把相关安全性进行勾掉。重启Dmgr。