现象:执行syncnode.sh 172.0.1.2 8879 -username admin -password password 时,提示以下错误:

(telnet测试网络和端口是通的)

24-8-3 13:09:43:051 CST] 00000001 AdminTool E ADMU0111E: 由于发生以下错误,程序正在退出:com.ibm.websphere.management.exception.ConnectorException: ADMC0016E: 系统无法创建 SOAP 连接器以连接到端口 8879 上的主机 172.0.1.2。
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 com.ibm.ws.management.tools.AbstractNodeConfigUtility.getAdminClient(AbstractNodeConfigUtility.java:204)
at com.ibm.ws.management.tools.NodeSyncUtility.runTool(NodeSyncUtility.java:155)
at com.ibm.ws.management.tools.AdminTool.executeUtility(AdminTool.java:281)
at com.ibm.ws.management.tools.NodeSyncUtility.main(NodeSyncUtility.java:69)
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 com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:234)
at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:96)
at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:77)
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 org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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 org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
at org.eclipse.core.launcher.Main.run(Main.java:981)
at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:424)
at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:177)
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)
… 34 more
Caused by: com.ibm.websphere.management.exception.ConnectorNotAvailableException: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error parsing HTTP status line “\u0015\u0003\u0003\u0000\u0002\u0002”: java.util.NoSuchElementException; targetException=java.lang.IllegalArgumentException: Error parsing HTTP status line “\u0015\u0003\u0003\u0000\u0002\u0002”: java.util.NoSuchElementException]
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.reconnect(SOAPConnectorClient.java:437)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.(SOAPConnectorClient.java:236)
… 39 more
Caused by: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error parsing HTTP status line “\u0015\u0003\u0003\u0000\u0002\u0002”: java.util.NoSuchElementException; targetException=java.lang.IllegalArgumentException: Error parsing HTTP status line “\u0015\u0003\u0003\u0000\u0002\u0002”: java.util.NoSuchElementException]
at org.apache.soap.transport.http.SOAPHTTPConnection.send(SOAPHTTPConnection.java:475)
at org.apache.soap.rpc.Call.WASinvoke(Call.java:510)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient$4.run(SOAPConnectorClient.java:387)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.reconnect(SOAPConnectorClient.java:380)
… 40 more

诊断:收集以下信息,判断从WAS应用节点到Dmgr是不是有SSL协议设置不一致:

1). zip of ../profiles/AppSrv01/properties directory
2). security.xml file in the ../profiles/Dmgr01/config/cells/xxxCellxx dirctory
3). SystemOut.log of dmgr server

看到NodeAgent的 /properties/ssl.client.props SSL协议设置为:SSL_TLS

com.ibm.ssl.protocol=SSL_TLS

但 dmgr 只允许 TLSv1.2 协议

<setting xmi:id=”SecureSocketLayer_1″ clientAuthentication=”false” securityLevel=”CUSTOM” enabledCiphers=”SSL_RSA_WITH_AES_256_CBC_SHA256 SSL_RSA_WITH_AES_256_CBC_SHA SSL_RSA_WITH_AES_256_GCM_SHA384″ jsseProvider=”IBMJSSE2″ sslProtocol=”TLSv1.2″

建议:编辑Node上的ssl.client.props,SSL_TLS改成SSL_TLSv2保存后再试syncnode就成功了.