Java windows中的Websphere无法通过SSL进行调用

Java windows中的Websphere无法通过SSL进行调用,java,ssl,ejb,websphere,Java,Ssl,Ejb,Websphere,我在websphere的本地机器上部署了一个web应用程序(纯UI)。此应用程序连接到linux机箱(RHEL 7.1)中部署的其他应用程序(后端) 我已经在部署后端应用程序的WebSphereConfig传输层中为入站和出站通信启用了SSL。我的目的是启用UI和后端应用程序之间的SSL通信 为此,在客户端,即我的UI应用程序上,我更改了ssl.client.props和sas.client.props,将其指向正确的密钥库和信任存储位置,并将其作为vm参数传递到server.xml文件中 -D

我在websphere的本地机器上部署了一个web应用程序(纯UI)。此应用程序连接到linux机箱(RHEL 7.1)中部署的其他应用程序(后端)

我已经在部署后端应用程序的WebSphereConfig传输层中为入站和出站通信启用了SSL。我的目的是启用UI和后端应用程序之间的SSL通信

为此,在客户端,即我的UI应用程序上,我更改了
ssl.client.props和sas.client.props
,将其指向正确的密钥库和信任存储位置,并将其作为vm参数传递到
server.xml
文件中

-Dcom.ibm.SSL.ConfigURL=file:/C:/locationOf/ssl.client.props 
-Dcom.ibm.CORBA.ConfigURL=file:/C:/locationOf/sas.client.props
但不知何故,看起来websphere(Ui应用程序)并没有读取这些属性文件,并试图使用简单的TCP而不是SSL建立连接。下面是我每次都得到的例外

 java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:381)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:243)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:230)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:377)
    at java.net.Socket.connect(Socket.java:539)
    at com.ibm.ws.orbimpl.transport.WSTCPTransportConnection.createSocket(WSTCPTransportConnection.java:370)
    at com.ibm.CORBA.transport.TransportConnectionBase.connect(TransportConnectionBase.java:359)
    at com.ibm.ws.orbimpl.transport.WSTransport.getConnection(WSTransport.java:436)
    at com.ibm.CORBA.transport.TransportBase.getConnection(TransportBase.java:187)
    at com.ibm.rmi.iiop.TransportManager.get(TransportManager.java:93)
    at com.ibm.rmi.iiop.GIOPImpl.getConnection(GIOPImpl.java:130)
    at com.ibm.rmi.iiop.GIOPImpl.locate(GIOPImpl.java:219)
    at com.ibm.rmi.corba.ClientDelegate.locate(ClientDelegate.java:1983)
    at com.ibm.rmi.corba.ClientDelegate._createRequest(ClientDelegate.java:2008)
    at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1186)
    at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1272)
我对这个异常做了一些研究,它出现在服务器上启用了SSL Required,客户端没有提供,或者websphere没有获取
sas.client.props
文件的情况下

-Dcom.ibm.SSL.ConfigURL=file:/C:/locationOf/ssl.client.props 
-Dcom.ibm.CORBA.ConfigURL=file:/C:/locationOf/sas.client.props
我还编写了一个简单的独立客户机,使用该客户机,我能够成功地在后端应用程序上执行EJB查找,并且能够在不为sas.client.props文件提供vm参数时重现相同的异常

所以我这里的问题是什么是正确的方法,以及在哪里提供属性文件作为vm参数,以便websphere能够获取这些参数

注意:当我在linux机箱中部署相同的UI应用程序时,我能够通过SSL成功调用。在这里,我没有明确地将这些文件的位置作为vm参数提供。它们是从文件
setupCmdLine.sh
中自动提取的

我认为websphere在windows和linux中的配置有所不同。(我可能错了)

Websphere版本:8.5.5


感谢您的帮助或指点

您的UI应用程序是独立的还是部署在WebSphere中的web应用程序(war)?如果是web应用,则不要更改任何*.props文件,而是通过web管理控制台配置SSL。您必须将证书添加到信任存储。如何从UI代码建立连接?在UI应用程序中,我们正在查找部署在另一台服务器上的ejb bean。它是一只耳朵。