it-roy-ru.com

Что такое конечная точка веб-службы?

Допустим, мой веб-сервис расположен по адресу http://localhost:8080/foo/mywebservice, а мой WSDL - по адресу http://localhost:8080/foo/mywebservice?wsdl.

Является ли http://localhost:8080/foo/mywebservice конечной точкой, т. Е. Совпадает ли он с URI моего веб-сервиса, или где сообщения SOAP получены и не отправлены?

Не могли бы вы объяснить мне, что это такое и какова цель этого?

295
karakays

Это более короткий и, надеюсь, более четкий ответ ... Да, конечная точка - это URL-адрес, по которому клиентская программа может получить доступ к вашей службе. Одна и та же веб-служба может иметь несколько конечных точек, например, чтобы сделать ее доступной с использованием разных протоколов.

393
lbalazscs

Обновленный ответ от Питера в комментариях:

Это де "старая терминология", используйте напрямую определение "endepoint" WSDL2 (WSDL2 переводится как "порт" в "конечную точку").


Возможно, вы найдете ответ в этом документе: http://www.w3.org/TR/wsdl.html

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

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

http://www.ehow.com/info_12212371_definition-service-endpoint.html

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

45
Julien

Конечная точка веб-службы - это URL, который другой программа будет использовать для связи с вашей программой. Чтобы увидеть WSDL, добавьте ?wsdl в URL-адрес конечной точки веб-службы.

Веб-сервисы предназначены для межпрограммного взаимодействия, а веб-страницы предназначены для межпрограммного взаимодействия.

Итак: Конечная точка: http://www.blah.com/myproject/webservice/webmethod

Следовательно, WSDL: http://www.blah.com/myproject/webservice/webmethod?wsdl


Чтобы подробнее узнать об элементах WSDL, мне всегда полезно сравнивать их с кодом:

WSDL имеет 2 части (физическую и абстрактную).

Физическая часть:

Определения - переменные - например: myVar, x, y и т.д.

Типы - типы данных - например: int, double, String, myObjectType

Операции - методы/функции - например: myMethod (), myFunction () и т.д.

Сообщения - входные параметры метода/функции и типы возврата

  • например: public myObjectType myMethod (String myVar)

Porttypes - классы (т.е. они являются контейнером для операций) - например: MyClass {} и т.д.

Абстрактная часть:

Связывание - они подключаются к типам портов и определяют выбранный протокол для связи с этим веб-сервисом. - протокол - это форма общения (текст/SMS, телефон или электронная почта и т. д.).

Сервис - здесь указывается адрес, по которому другая программа может найти ваш веб-сервис (т. Е. Ваш конечная точка).

30
specialk1st

В прошлых проектах, над которыми я работал, конечная точка была относительной собственностью. То есть он может быть или не быть добавлен, но он всегда содержал protocol://Host:port/partOfThePath.

Если вызываемый сервис имеет динамическую часть, например, ?param=dynamicValue, то эта часть будет добавлена ​​к конечной точке. Но во многих случаях конечная точка может использоваться как есть, без необходимости исправления.

Важно понимать, что не является конечной точкой и как она помогает. Например, альтернативный способ передачи информации, хранящейся в конечной точке, заключается в хранении различных частей конечной точки в отдельных свойствах. Например:

hostForServiceA=someIp
portForServiceA=8080
pathForServiceA=/some/service/path
hostForServiceB=someIp
portForServiceB=8080
pathForServiceB=/some/service/path

Или, если один и тот же хост и порт для нескольких служб:

Host=someIp
port=8080
pathForServiceA=/some/service/path
pathForServiceB=/some/service/path

В этих случаях полный URL должен быть построен в вашем коде как таковой:

String url = "http://" + Host + ":" + port + pathForServiceA  + "?" + dynamicParam + "=" + dynamicValue;

В контракте это может быть сохранено как конечная точка как таковая

serviceAEndpoint=http://Host:port/some/service/path?dynamicParam=

И да, мы много раз сохраняли конечную точку вплоть до '='. Это приводит к следующему коду:

String url = serviceAEndpoint + dynamicValue;

Надеюсь, что проливает свет.

13
Jose Martinez

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

API работают с использованием "запросов" и "ответов". Когда API запрашивает информацию у веб-приложения или веб-сервера, он получает ответ. Место, куда API отправляют запросы и где находится ресурс, называется конечной точкой.

Ссылка: https://smartbear.com/learn/performance-monitoring/api-endpoints/

3
Satya

Конечная точка указывается как относительный или абсолютный URL, который обычно приводит к ответу. Этот ответ обычно является результатом процесса на стороне сервера, который может, например, создать строку JSON. Эта строка может затем использоваться приложением, которое сделало вызов конечной точке. Таким образом, в общем случае конечные точки - это заранее определенные точки доступа, используемые в сетях TCP/IP для инициирования процесса и/или возврата ответа. Конечные точки могут содержать параметры, передаваемые в URL-адресе, так как пары значений ключа, несколько пар значений ключа разделяются амперсандом, что позволяет конечной точке вызывать, например, процесс обновления/вставки; поэтому конечным точкам не всегда нужно возвращать ответ, но ответ всегда полезен, даже если он просто указывает на успех или неудачу операции.

1
Martyn Wynn