Я разрабатываю класс Java, устанавливающий соединение с сервером C ++ xmlrpc. Клиент и сервер работают на 2 разных ПК. В качестве библиотек я использую https://ws.apache.org/xmlrpc/ для Java и http://xmlrpc -c.sourceforge.net / для C ++.
Моя проблема в том, что я не могу подключиться к серверу, когда использую сервер C ++ pStream, используя адрес, такой как x.x.x.x: port.
Если я подключусь по протоколу http (http://x.x.x.x/port)) к клиенту Java и серверу Abyss C ++, все в порядке.
Это часть кода, в которой я получаю исключение:
public XMLRPCInterface(String host, int port) {
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setEnabledForExceptions(true);
try {
config.setServerURL(new URL(host + ":" + port + "/RPC2")); // NO HTTP SINCE WE ARE GOING TO USE UPSTREAM SERVER
} catch (MalformedURLException e) {
e.printStackTrace();
}
config.setConnectionTimeout(1000);
client = new XmlRpcClient();
client.setConfig(config);
}
Фактическая ошибка, которую я получаю, - это «MalformedUrlException: нет протокола», когда я пытаюсь установить соединение с xxxx / port вместо http://x.x.x.x/port. Дело в том, что мне нужно пропустить http.