我在xp本机安装了websphere,并启用了全局安全性,服务器端的配置都是默认的
然后使用adminclient,通过soap协议去连接服务器,代码如下:
Properties props = new Properties();
props.setProperty(AdminClient.CONNECTOR_HOST, "192.168.0.11");
props.setProperty(AdminClient.CONNECTOR_PORT, "8880");
props.setProperty(AdminClient.CONNECTOR_TYPE, AdminClient.CONNECTOR_TYPE_SOAP);
props.setProperty(AdminClient.CONNECTOR_SECURITY_ENABLED, "true");
props.setProperty(AdminClient.USERNAME, "admin");
props.setProperty(AdminClient.PASSWORD, "admin");
props.setProperty("javax.net.ssl.trustStore", "C:/Program Files/IBM/WebSphere/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks");
props.setProperty("javax.net.ssl.keyStore", "C:/Program Files/IBM/WebSphere/AppServer/profiles/AppSrv01/etc/DummyClientKeyFile.jks");
props.setProperty("javax.net.ssl.trustStorePassword", "WebAS");
props.setProperty("javax.net.ssl.keyStorePassword", "WebAS");
try {
adminClient = AdminClientFactory.createAdminClient(props);
} catch (ConnectorException ex) {
ex.printStackTrace();
}
这段程序在本机可以正确执行.但当在局域网的另一台机器运行时,却出现了异常,如下:
com.ibm.websphere.management.exception.ConnectorException: ADMC0053E: 启用 SOAP 连接器安全性时,系统无法创建连接到端口 8880 上的主机 192.168.0.11 的 SOAP 连接器。
at com.ibm.websphere.management.AdminClientFactory.createAdminClient(AdminClientFactory.java:476)
at com.sidatech.wasmonitor.WasMonitor.main(WasMonitor.java:61)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.ibm.websphere.management.AdminClientFactory.createAdminClient(AdminClientFactory.java:331)
... 1 more
Caused by: com.ibm.websphere.management.exception.ConnectorNotAvailableException: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: java.net.SocketException: Default SSL context init failed: null; targetException=java.lang.IllegalArgumentException: Error opening socket: java.net.SocketException: Default SSL context init failed: null]
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.reconnect(SOAPConnectorClient.java:338)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.
(SOAPConnectorClient.java:175)
... 6 more
Caused by: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: java.net.SocketException: Default SSL context init failed: null; targetException=java.lang.IllegalArgumentException: Error opening socket: java.net.SocketException: Default SSL context init failed: null]
at org.apache.soap.transport.http.SOAPHTTPConnection.send(Unknown Source)
at org.apache.soap.rpc.Call.invoke(Unknown Source)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient$4.run(SOAPConnectorClient.java:311)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.reconnect(SOAPConnectorClient.java:296)
... 7 more
到底是什么原因了,找了很久了,难道是soap不支持远程连接,还是说服务器端需要额外的配置(我也试了n种,但都没成功),
找了挺多文章也没找到原因.希望做过的指点下,提供建议也很感激.收起