2012-03-21 16 views
245

मान लें कि मेरी वेब सेवा http://localhost:8080/foo/mywebservice पर स्थित है और मेरा डब्लूएसडीएल http://localhost:8080/foo/mywebservice?wsdl पर है।वेब सेवा एंडपॉइंट क्या है?

http://localhost:8080/foo/mywebservice एक एंडपॉइंट है, यानी, क्या यह मेरी वेब सेवा के यूआरआई के समान है या जहां एसओएपी संदेश प्राप्त हुए हैं और अनारक्षित हैं?

क्या आप कृपया मुझे बता सकते हैं कि यह क्या है और इसका उद्देश्य क्या है?

उत्तर

43

अपडेट किया गया जवाब, पीटर से टिप्पणी में:

यह डे "पुराने शब्दावली", है directally का उपयोग WSDL2 "endepoint" definition (WSDL2 अनुवाद "बंदरगाह" के लिए "अंत बिंदु")।


हो सकता है कि आप इस दस्तावेज़ में कोई उत्तर खोजने: http://www.w3.org/TR/wsdl.html

एक WSDL दस्तावेज़ नेटवर्क अंतिमबिंदुओं, या बंदरगाहों के संग्रह के रूप में सेवाओं को परिभाषित करता है। डब्ल्यूएसडीएल में, एंडपॉइंट्स और संदेशों की सार परिभाषा उनके ठोस नेटवर्क परिनियोजन या डेटा प्रारूप बाइंडिंग से अलग होती है। यह अमूर्त परिभाषाओं का पुन: उपयोग करने की अनुमति देता है: संदेश, जो डेटा का आदान-प्रदान किया जाता है, और पोर्ट प्रकार जो संचालन के सार संग्रह हैं। एक विशेष बंदरगाह प्रकार के लिए ठोस प्रोटोकॉल और डेटा प्रारूप विनिर्देश एक पुन: प्रयोज्य बाध्यकारी का गठन करता है। एक पोर्ट को एक पुन: प्रयोज्य बाध्यकारी के साथ एक नेटवर्क पते को जोड़कर परिभाषित किया जाता है, और बंदरगाहों का संग्रह एक सेवा को परिभाषित करता है। कुछ प्रकार के सिस्टम (जैसे XSD के रूप में) का उपयोग कर डेटा प्रकार परिभाषा के लिए एक कंटेनर प्रकार-

  • : इसलिए, एक WSDL दस्तावेज़ नेटवर्क सेवाओं की परिभाषा में निम्नलिखित तत्व उपयोग करता है।
  • संदेश- डेटा की एक अमूर्त, टाइप की गई परिभाषा को संप्रेषित किया जा रहा है।
  • ऑपरेशन- सेवा द्वारा समर्थित एक क्रिया का एक सार विवरण।
  • पोर्ट प्रकार - एक या अधिक अंतराल द्वारा समर्थित संचालन का एक सार सेट।
  • बाइंडिंग- एक विशेष पोर्ट प्रकार के लिए एक ठोस प्रोटोकॉल और डेटा प्रारूप विनिर्देश।
  • पोर्ट- एक बाध्यकारी और नेटवर्क पता के संयोजन के रूप में परिभाषित एक एकल अंतराल।
  • सेवा- संबंधित अंतराल का संग्रह।

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

समाप्ति बिंदु जहां HTML फ़ाइलों या सक्रिय सर्वर पृष्ठ संपर्क में हैं एक कनेक्शन बिंदु है। एंडपॉइंट्स वेब सेवा एंडपॉइंट को संबोधित करने के लिए आवश्यक जानकारी प्रदान करते हैं। एंडपॉइंट एक संदर्भ या विनिर्देश प्रदान करता है जिसका उपयोग किसी संदेश या संदेश को संबोधित करने वाले संदेश के परिवार को परिभाषित करने के लिए किया जाता है और एंड-टू-एंड संदेश विशेषताओं को प्रदान करता है, जैसे स्रोत के संदर्भ और अंत बिंदुओं के गंतव्य, और वर्दी के लिए अनुमति देने के लिए संदेशों की पहचान "स्वतंत्र" संदेशों को संबोधित करना। एंडपॉइंट एक पीसी, पीडीए, या पॉइंट ऑफ सेल टर्मिनल हो सकता है।

+58

"एंडपॉइंट्स वेब सेवा एंडपॉइंट को संबोधित करने के लिए आवश्यक जानकारी प्रदान करते हैं।" उस वाक्य को प्यार करना होगा! : डी – musaul

+2

यह "पुरानी शब्दावली" है, सीधे [डब्लूएसडीएल 2 "एंडपॉइंट" परिभाषा] (http://www.w3.org/TR/wsdl20/#Endpoint) का उपयोग करें (डब्ल्यूएसडीएल 2 का अनुवाद "पोर्ट" "एंडपॉइंट" में किया गया है) । एक सरल उत्तर के लिए –

331

यह एक छोटा और उम्मीद है कि स्पष्ट जवाब है ... हाँ, अंत बिंदु URL जहाँ आपकी सेवा क्लाइंट अनुप्रयोग द्वारा पहुँचा जा सकता है।एक ही वेब सेवा में कई अंतराल हो सकते हैं, उदाहरण के लिए विभिन्न प्रोटोकॉल का उपयोग करके इसे उपलब्ध कराने के लिए।

+31

+1! –

+0

तो मेरी साइट पर प्रत्येक पृष्ठ एक और अंतराल है? अगर मेरे पास myweb.com है और myweb.com/pageOne वे दोनों अंत बिंदु हैं? – user137717

+6

@ user137717 नहीं, वेबसाइटें वेब सेवाएं नहीं हैं। एक वेब सेवा मुख्य रूप से अनुप्रयोगों द्वारा उपयोग की जाती है, जबकि वेबसाइट मुख्य रूप से मनुष्यों के लिए होती है। – lbalazscs

11

पिछली परियोजनाओं में मैंने काम किया, एंडपॉइंट एक सापेक्ष संपत्ति थी। ऐसा कहने के लिए यह जोड़ा जा सकता है या नहीं भी हो सकता है, लेकिन इसमें हमेशा 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; 

आशा है कि कुछ प्रकाश डालें।

18

एक वेब सेवा एंडपॉइंट यूआरएल है जो प्रोग्राम आपके प्रोग्राम के साथ संवाद करने के लिए उपयोग करेगा। डब्ल्यूएसडीएल देखने के लिए आप वेब सेवा एंडपॉइंट यूआरएल में ?wsdl जोड़ते हैं। जबकि वेब पृष्ठों के लिए कार्यक्रम करने के लिए मानव बातचीत कर रहे हैं

वेब सेवाओं, कार्यक्रम करने के लिए कार्यक्रम बातचीत के लिए कर रहे हैं।

तो: Endpoint है: http://www.blah.com/myproject/webservice/webmethod

इसलिए, डबल्यूएसडीएल है: http://www.blah.com/myproject/webservice/webmethod?wsdl


एक डबल्यूएसडीएल के तत्वों पर आगे विस्तार करने के लिए, मैं हमेशा यह उपयोगी उन्हें कोड करने के लिए तुलना करने के लिए लगता है:

एक डब्ल्यूएसडीएल में 2 भाग हैं (भौतिक & सार)।

शारीरिक भाग:

परिभाषाएं - चर - पूर्व: myVar, एक्स, वाई, आदि

प्रकार - डेटा प्रकार - पूर्व: पूर्णांक, डबल, स्ट्रिंग, myObjectType

संचालन - विधियों/कार्यों - पूर्व: myMethod(), myFunction(), आदि

संदेश - विधि/समारोह इनपुट पैरामीटर & वापसी प्रकार

  • पूर्व: सार्वजनिक myObjectType MyMethod (स्ट्रिंग myVar)

Porttypes - वर्गों (यानी वे संचालन के लिए एक कंटेनर हैं) - पूर्व: MyClass {}, आदि

सार भाग:

बाध्यकारी - ये पोर्टटाइप से कनेक्ट होते हैं और इस वेब सेवा के साथ संचार के लिए चुने गए प्रोटोकॉल को परिभाषित करते हैं। - एक प्रोटोकॉल संचार का एक रूप है (इसलिए पाठ/एसएमएस, बनाम फोन बनाम ईमेल, आदि)।

सेवा - यह वह पता सूचीबद्ध करता है जहां कोई अन्य प्रोग्राम आपकी वेब सेवा ढूंढ सकता है (यानी आपका एंडपॉइंट)।

+1

मैंने पाया "वेब सेवाएं प्रोग्राम-टू-प्रोग्राम इंटरैक्शन के लिए हैं, जबकि वेब पेज प्रोग्राम-टू-इंटरेक्शन इंटरैक्शन के लिए हैं" मुझे परेशान करने के लिए बहुत उपयोगी कथन है "क्यों न सिर्फ लोग यूआरएल के रूप में अंत बिंदु को कॉल करेंगे" –

+0

खुशी है कि यह मिनी मिनी मदद की! :-) – specialk1st

संबंधित मुद्दे