2012-03-21 15 views
245

Załóżmy, że moja usługa sieciowa znajduje się pod adresem http://localhost:8080/foo/mywebservice, a mój plik WSDL znajduje się pod adresem http://localhost:8080/foo/mywebservice?wsdl.Co to jest punkt końcowy usługi WWW?

Czy punkt końcowy to http://localhost:8080/foo/mywebservice, tj. Czy jest taki sam jak identyfikator URI mojej usługi internetowej, czy też wiadomości SOAP odebrane i niezapisane?

Czy możesz mi wyjaśnić, co to jest i jaki jest jego cel?

Odpowiedz

43

Updated odpowiedź od Piotra w komentarzach:

Jest to de "stara terminologia", użyj directally WSDL2 "endepoint" definition (WSDL2 tłumaczone jako "port" do "punktu końcowego").


Może znajdziesz odpowiedź w tym dokumencie: http://www.w3.org/TR/wsdl.html

Dokument WSDL definiuje usługi jako zbiory punktów końcowych sieci lub portów. W WSDL abstrakcyjna definicja punktów końcowych i komunikatów jest oddzielona od ich konkretnych powiązań sieciowych lub formatów danych. Pozwala to na ponowne użycie abstrakcyjnych definicji: komunikatów, które są abstrakcyjnymi opisami wymienianych danych oraz typów portów, które są abstrakcyjnymi zbiorami operacji. Specyficzne specyfikacje protokołów i formatów danych dla określonego typu portu stanowią wiązanie wielokrotnego użytku. Port jest zdefiniowany przez powiązanie adresu sieciowego z wiązaniem wielokrotnego użytku, a zbiór portów definiuje usługę. W związku z tym dokument WSDL korzysta z następujących elementów w definicji usług sieciowych:

  • Typy - kontener dla definicji typów danych za pomocą pewnego typu systemu (np. XSD).
  • Wiadomość - abstrakcyjna, wpisana definicja przekazywanych danych.
  • Operacja - abstrakcyjny opis działania wspieranego przez usługę.
  • Typ portu - zestaw abstrakcyjnych operacji obsługiwanych przez co najmniej jeden punkt końcowy.
  • Wiązanie - konkretny protokół i specyfikacja formatu danych dla określonego typu portu.
  • Port - pojedynczy punkt końcowy zdefiniowany jako kombinacja powiązania i adresu sieciowego.
  • Usługa - zbiór powiązanych punktów końcowych.

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

Punkt końcowy jest punktem połączenia gdzie narażone są pliki HTML lub Active Server Pages. Punkty końcowe zawierają informacje potrzebne do rozwiązania punktu końcowego usługi sieci Web. Punkt końcowy udostępnia odniesienie lub specyfikację, która jest używana do definiowania grupy lub rodziny właściwości adresowania komunikatów i zapewnia charakterystyki komunikatów typu koniec-koniec, takich jak odniesienia do źródła i miejsca docelowego punktów końcowych oraz tożsamości wiadomości w celu umożliwienia jednolitego adresowanie "niezależnych" wiadomości. Punktem końcowym może być terminal PC, PDA lub terminal do punktów sprzedaży.

+58

"Punkty końcowe zawierają informacje niezbędne do rozwiązania punktu końcowego usługi sieci Web." Muszę uwielbiać to zdanie! : D – musaul

+2

To jest "stara terminologia", używaj bezpośrednio definicji punktu końcowego [WSDL2 "] (http://www.w3.org/TR/wsdl20/#Endpoint) (WSDL2 przetłumaczył" port "na" punkt końcowy ") . –

331

Jest to krótsza i mam nadzieję bardziej przejrzysta odpowiedź ... Tak, punkt końcowy to adres URL, pod którym usługa jest dostępna dla klienta.Ta sama usługa sieciowa może mieć wiele punktów końcowych, na przykład w celu udostępnienia jej za pomocą różnych protokołów.

+31

+1 dla łatwiejszej odpowiedzi! –

+0

, więc czy każda strona w mojej witrynie jest innym końcem? jeśli mam myweb.com i myweb.com/pageOne są oba punkty końcowe? – user137717

+6

@ user137717 Nie, strony internetowe nie są usługami internetowymi. Usługa internetowa jest głównie używana przez aplikacje, podczas gdy witryny są przeznaczone głównie dla ludzi. – lbalazscs

11

W poprzednich projektach, nad którymi pracowałem, punktem końcowym była właściwość względna. To znaczy, że może, ale nie musi być dołączone, ale zawsze zawierało protocol://host:port/partOfThePath.

Jeśli wywoływana usługa ma dynamiczną część, na przykład ?param=dynamicValue, to ta część zostanie dodana do punktu końcowego. Ale wiele razy punkt końcowy mógł być użyty bez zmian.

Ważne jest, aby zrozumieć, czym jest punkt końcowy i jak to pomaga. Na przykład alternatywnym sposobem przekazywania informacji przechowywanych w punkcie końcowym byłoby przechowywanie różnych części punktu końcowego w oddzielnych właściwościach. Na przykład:

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

Lub jeśli tego samego hosta i port w wielu usług:

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

w tych przypadkach, pełny adres URL będą musiały być budowane w kodzie jako takie:

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

W umowie może być przechowywany jako punkt końcowy jako taki

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

I tak wiele razy przechowywaliśmy punkt końcowy do i włącznie z "=". To doprowadziło do kodu podobnego do tego:

String url = serviceAEndpoint + dynamicValue; 

Nadzieję, że rzuci trochę światła.

18

Punkt końcowy usługi WWW to adres URL, którego inny program używałby do komunikacji z Twoim programem. Aby wyświetlić listę WSDL, należy dodać ?wsdl do adresu końcowego punktu usługi Web.

usługi internetowe są dla Program-program interakcji, a strony internetowe są dla Program na człowieka interakcji.

Więc: Endpoint jest: http://www.blah.com/myproject/webservice/webmethod

Dlatego WSDL jest: http://www.blah.com/myproject/webservice/webmethod?wsdl


Aby rozwinąć dalej z elementów WSDL, zawsze okazać się pomocne, aby je porównać do kodu:

WSDL ma 2 porcje (fizyczna abstrakcja &).

porcji fizyczny:

Definicje - zmienne - ex: myVar, X, Y, itd

Typy - Typy danych - ex: int, double, string, myObjectType

Operations - metody/funkcje - ex: myMethod(), myFunction(), itp.

Wiadomości - metoda wejścia/funkcja Parametry & rodzajów powrotne

  • Ex: public myObjectType myMethod (String myVar)

Porttypes - zajęcia (czyli są one pojemnik na operacjach) - ex: MyClass {}, itp.

Streszczenie Część:

Wiązanie - te łączą się z typami portów i definiują wybrany protokół do komunikacji z tym serwisem WWW. - protokół jest formą komunikacji (więc tekst/SMS, a telefon vs. e-mail itp.).

Usługa - ta lista zawiera adres, pod którym inny program może znaleźć usługę WWW (np. Twój punkt końcowy).

+1

Zauważyłem, że "serwisy internetowe służą do interakcji program-program, podczas gdy strony internetowe są przeznaczone do interakcji program-człowiek" to bardzo przydatne stwierdzenie, które powstrzyma mnie przed zastanawiającym "dlaczego ludzie nie powinni po prostu nazwać punktu końcowego jako URL" –

+0

Cieszę się, że pomogło Minnie Shi! :-) – specialk1st

Powiązane problemy