Подтвердить что ты не робот

В чем разница между конечной точкой, сервисом и портом при работе с веб-службами?

Я использовал Apache CXF для демонстрации около десяти классов Java в качестве веб-сервисов.

Я создал клиентов, использующих CXF, Axis и .NET.

В Axis и CXF создается "Сервис" или "Локатор". Из этой службы вы можете получить "Порт". "Порт" используется для индивидуальных вызовов методов, открытых веб-службой.

В .NET "Служба" напрямую предоставляет вызовы веб-службе.

Может кто-нибудь объяснить разницу между портом, службой, локатором и конечной точкой, когда дело касается веб-служб?

Ось:

PatientServiceImplServiceLocator locator = 
    new PatientServiceImplServiceLocator();
PatientService service = locator.getPatientServiceImplPort();

CXF:

PatientServiceImplService locator = new PatientServiceImplService();
PatientService service = locator.getPatientServiceImplPort();

.net:

PatientServiceImplService service = new PatientServiceImplService();
4b9b3361

Ответ 1

Я бы перескочил на http://www.w3.org/TR/wsdl.html, который, я думаю, объясняет, что Port, Service и Endpoint достаточно хорошо. Локатор - это специфический для реализации механизм, используемый некоторыми WS-стеками для обеспечения доступа к конечным точкам обслуживания.

Ответ 2

Я нашел информацию, основанную на ответе Кевина Кенни, но я решил, что отправлю ее здесь для других.

Документ WSDL определяет службы как коллекции конечных точек сети или портов. В WSDL абстрактное определение конечных точек и сообщений отделено от их конкретного развертывания сети или привязок формата данных. Это позволяет повторно использовать абстрактные определения: сообщения, которые являются абстрактными описаниями обменных данных, и типы портов, которые являются абстрактными коллекциями операций. Конкретные протоколы и спецификации формата данных для определенного типа порта представляют собой многоразовые привязки. Порт определяется путем связывания сетевого адреса с повторно используемым связыванием, а набор портов определяет службу. Следовательно, документ WSDL использует следующие элементы в определении сетевых сервисов:

  • Типы - контейнер для определения типов данных с использованием некоторой системы типов (например, XSD).
  • Сообщение - абстрактное, типизированное определение передаваемых данных.
  • Операция - абстрактное описание действия, поддерживаемого службой.
  • Тип порта - абстрактный набор операций, поддерживаемых одной или несколькими конечными точками.
  • привязка - конкретная спецификация формата протокола и данных для определенного типа порта.
  • Порт - единственная конечная точка, определенная как комбинация привязки и сетевого адреса.
  • Сервис - набор связанных конечных точек.

Ответ 3

Я хотел бы добавить, что <port> и <endpoint> выполняют одну и ту же цель, но port используется WSDL 1.1 и endpoint WSDL 2.0.

Сначала это смутило меня.

Ответ 4

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