Различия?
SOAP более мощен, и очень предпочтен поставщиками программного инструмента (.NET MSFT, Версия для предприятий Java, такие вещи).
SOAP был в течение долгого времени (2001-2007ish) рассматриваемый как предпочтительный протокол для SOA. xml-rpc не так. REST является новым любимым SOA, хотя это не протокол.
SOAP является более подробным, но более способным.
SOAP не поддерживается в части более старого материала. Например, никакой SOAP не освобождает для классического ASP (что я мог найти).
SOAP не хорошо поддерживается в Python. XML-RPC имеет большую поддержку в Python в стандартной библиотеке.
SOAP поддерживает передачу уровня документа, тогда как xml-rpc больше о передаче значений, хотя это может передать структуры, такие как структуры, списки, и т.д.
, xm-rpc действительно о межпрограммной передаче агностика языка. Это, прежде всего, пробегается через http/https. Сообщения SOAP могут пробежаться через электронную почту также.
xml-rpc является большим количеством unixy. Это позволяет Вам сделать вещи просто, и когда Вы знаете то, что Вы делаете, это очень быстро для развертывания качественных веб-сервисов, даже когда с помощью терминальных текстовых редакторов. При выполнении SOAP тем путем является зоопарк; Вам действительно нужен хороший IDE для создания его выполнимым.
Знание SOAP, тем не менее, будет выглядеть намного лучше на Вашем резюме/CV, если Вы будете соперничать за задание IT Fortune 500.
xml-rpc имеет некоторые проблемы с наборами символов неASCII.
XML-RPC не поддерживает названные параметры. Они должны быть в правильном порядке. Не уверенный в SOAP, но думают так.
Просто чтобы уточнить: из вашего приложения вы можете просто назовите эмулятор «localhost» или 127.0.0.1.
Веб-трафик маршрутизируется через вашу машину разработки, поэтому внешний IP-адрес эмулятора - это любой IP-адрес, назначенный этой машине вашим провайдером. К машине разработки всегда можно получить доступ с вашего устройства по адресу 10.0.2.2.
Поскольку вы спрашивали только об IP-адресе эмулятора , что вы пытаетесь сделать?
Вот так:
public String getLocalIpAddress() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e(LOG_TAG, ex.toString());
}
return null;
}
Дополнительные сведения см. В документации: NetworkInterface .