Каково различие между XML-RPC и SOAP?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

78
задан John Saunders 21 February 2011 в 04:38
поделиться

3 ответа

Различия?

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, но думают так.

85
ответ дан Robert Harvey 24 November 2019 в 10:39
поделиться

Только для добавления к другим ответам я поощрил бы Вас смотреть на фактические текстовые представления SOAP и XML-вызовов-RPC, возможно, путем получения один с Эфирным. Целое, "XML-RPC является более простым" аргументом, не имеет большого количества смысла, пока Вы не видите, как невероятно подробный вызов SOAP. Многие довольно популярные веб-сайты там уклоняются от SOAP как свой API из-за просто суммы пропускной способности, которую это использовало бы, если бы люди начали использовать его экстенсивно.

13
ответ дан bmdhacks 24 November 2019 в 10:39
поделиться

У Kate Rhodes есть замечательное эссе по различиям в http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap

5
ответ дан Christopher Mahan 24 November 2019 в 10:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: