diff --git a/quickfixj-core/src/main/java/quickfix/mina/ProtocolFactory.java b/quickfixj-core/src/main/java/quickfix/mina/ProtocolFactory.java index 204631557..0e9bfaf6d 100644 --- a/quickfixj-core/src/main/java/quickfix/mina/ProtocolFactory.java +++ b/quickfixj-core/src/main/java/quickfix/mina/ProtocolFactory.java @@ -160,7 +160,6 @@ private static ProxyRequest createHttpProxyRequest(InetSocketAddress address, String proxyPassword, String proxyDomain, String proxyWorkstation) { - String uri = "http://" + address.getAddress().getHostAddress() + ":" + address.getPort(); HashMap props = new HashMap<>(); props.put(HttpProxyConstants.USER_PROPERTY, proxyUser); props.put(HttpProxyConstants.PWD_PROPERTY, proxyPassword); @@ -169,7 +168,7 @@ private static ProxyRequest createHttpProxyRequest(InetSocketAddress address, props.put(HttpProxyConstants.WORKSTATION_PROPERTY, proxyWorkstation); } - HttpProxyRequest req = new HttpProxyRequest(uri); + HttpProxyRequest req = new HttpProxyRequest(address); req.setProperties(props); if (proxyVersion != null && proxyVersion.equalsIgnoreCase("1.1")) { req.setHttpVersion(HttpProxyConstants.HTTP_1_1); diff --git a/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java b/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java index 71f1a8bf0..b2ad31721 100644 --- a/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java +++ b/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java @@ -24,7 +24,6 @@ import org.apache.mina.core.service.IoConnector; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.ProtocolCodecFilter; -import org.apache.mina.filter.logging.LoggingFilter; import org.apache.mina.proxy.ProxyConnector; import org.apache.mina.transport.socket.SocketConnector; import org.slf4j.Logger; @@ -145,7 +144,7 @@ public ConnectTask(boolean sslEnabled, SocketAddress[] socketAddresses, private void setupIoConnector() throws ConfigError, GeneralSecurityException { final CompositeIoFilterChainBuilder ioFilterChainBuilder = new CompositeIoFilterChainBuilder(userIoFilterChainBuilder); - boolean hasProxy = proxyType != null && proxyPort > 0 && socketAddresses[0] instanceof InetSocketAddress; + boolean hasProxy = proxyType != null && proxyPort > 0 && socketAddresses[nextSocketAddressIndex] instanceof InetSocketAddress; SSLFilter sslFilter = null; if (sslEnabled) { @@ -155,14 +154,14 @@ private void setupIoConnector() throws ConfigError, GeneralSecurityException { ioFilterChainBuilder.addLast(FIXProtocolCodecFactory.FILTER_NAME, new ProtocolCodecFilter(new FIXProtocolCodecFactory())); IoConnector newConnector; - newConnector = ProtocolFactory.createIoConnector(socketAddresses[0]); + newConnector = ProtocolFactory.createIoConnector(socketAddresses[nextSocketAddressIndex]); newConnector.setHandler(new InitiatorIoHandler(fixSession, networkingOptions, eventHandlingStrategy)); newConnector.setFilterChainBuilder(ioFilterChainBuilder); if (hasProxy) { ProxyConnector proxyConnector = ProtocolFactory.createIoProxyConnector( (SocketConnector) newConnector, - (InetSocketAddress) socketAddresses[0], + (InetSocketAddress) socketAddresses[nextSocketAddressIndex], new InetSocketAddress(proxyHost, proxyPort), proxyType, proxyVersion, proxyUser, proxyPassword, proxyDomain, proxyWorkstation );