दिलचस्प पोस्ट
गैर-वेब एसक्यूएल इंजेक्शन विरासत के लिए `Object.create` का उपयोग करने के लाभ क्या कोई विवरण है कि कैसे __cmp__ पायथन 2 में डिक् ऑब्जेक्ट्स के लिए काम करता है? जावा में एकत्रीकरण और संरचना के बीच कार्यान्वयन अंतर स्कला में शून्य / कुछ नहीं / इकाई का उपयोग एसक्यूएल कॉलम के नामों से कैसे निपटें, जो एसक्यूएल कीवर्ड की तरह दिखते हैं? मैं क्या करता है = (i, ++ i, 1) + 1; कर? MongoDB के लिए रैम में "कार्य सेट" को फिट करने का क्या अर्थ है? क्रोम छवियाँ / जेएस / सीएसएस कैश नहीं करता है कस्टम HTTP हेडर: नामकरण सम्मेलनों बूटस्ट्रैप के साथ फील्डसेट लीजेंड का उपयोग करें एचटीएमएल / सीएसएस इनपुट टाइप = "बटन" में छवि आइकन कैसे जोड़ें? Windows एक्सप्लोरर संदर्भ मेनू में एकीकृत करना नोड.जेएस एक्सप्रेस में वर्तमान अनुरोध का होस्टनाम प्राप्त करें सुरुचिपूर्ण तरीके से दो तिथियों के भीतर यादृच्छिक तारीखों की सरणी उत्पन्न होती है

बस जावा में एक वेब सेवा का उपभोग करना

मेरे पास एक बहुत ही सरल SOAP वेब सेवा है जो मुझे जावा क्लाइंट से उपभोग करने की आवश्यकता है किसी तृतीय पक्ष पुस्तकालयों का उपयोग किए बिना इसे पूरा करने का सबसे आसान तरीका क्या है? एक आवश्यकता यह है कि मेजबान और बंदरगाह वेब से हर पल में वेब से पहले पढ़ा जाता है।

Solutions Collecting From Web of "बस जावा में एक वेब सेवा का उपभोग करना"

मैं आपको सीएक्सएफ पुस्तकालय की सिफारिश कर सकता हूँ इसका उपयोग करना आपको वेब सेवाओं को कॉल करने के लिए कई विकल्प होंगे:

  1. कॉल करने के लिए डायनामिक प्रॉक्सी का उपयोग करें (wsdl2java का उपयोग करके जावा स्टब बनाने की आवश्यकता नहीं है)

    DynamicClientFactory dcf = DynamicClientFactory.newInstance(); Client client = dcf.createClient("http://admin:password@localhost:8080"+ "/services/MyService?wsdl"); Object[] a = client.invoke("test", ""); System.out.println(a); 
  2. Wsdl2java का उपयोग करते हुए, WSDL से उत्पन्न जावा स्टब का उपयोग करना

  3. यदि आपका सर्वर सीएक्सएफ का उपयोग कर बनाया गया था तो आप सीधे अपने इंटरफेस कोड का पुनः उपयोग कर सकते हैं (WSDL2java को WSDL पर उपयोग करने के बजाय जो आपके इंटरफेस से बनाया गया था!)

दोनों # 2 और # 3 के लिए, निम्न कोड CXF उपयोग का उदाहरण देता है:

 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setAddress("http://admin:password@localhost:8080/services/MyService"); factory.setServiceClass(ITest.class); ITest client = (ITest) factory.create(); client.test(); 

जवा के किस संस्करण के आधार पर आप उपयोग कर रहे हैं, कुछ जेएडीएएस- इसमें बनाया गया है। जेडीके 6 में जावा की जेएडएस-डब्लूएस मानक कार्यान्वयन है और आप इसका उपयोग कर सकते हैं।

निम्नलिखित देखें:

  • JAX-WS 2.1 और JAXB 2.1 जेडीके 6 अपडेट 4 रिलीज में उपलब्ध है

  • JAX-WS वेब सेवाओं के साथ आरंभ करना ( वेब सेवा को परिनियोजित करने और उपभोग करने के लिए जेडडीके में निर्मित जेएड-जेएस का उपयोग करने के लिए ट्यूटोरियल)

यदि आप अपनी "तृतीय पक्षीय पुस्तकालयों" की आवश्यकता को कम कर सकते हैं, और आपके पास वेब सेवा के लिए डब्ल्यूएसडीएल है तो एक्सिस यह वास्तव में आसान बनाता है बस wsdl2java का उपयोग करके WSDL को संकलित करें, और आप वेब सेवा का उपभोग करने के लिए उत्पन्न जावा कक्षाओं का उपयोग कर सकते हैं।

किसी तीसरे पक्ष के पुस्तकालयों का उपयोग किए बिना? एसएपी मानक को वास्तव में अच्छी तरह से जानें और सैकेंड प्यार करना सीखें।

अगर आप सैकक्स को नहीं पसंद कर सकते हैं, तो अपनी नॉन-थर्ड-पार्टी-लिब्स की आवश्यकता को ढंकना और इसके बजाय स्टैक्स (वुडस्टॉक्स के साथ) का उपयोग करें।

यह दृष्टिकोण "आसान" हो सकता है (कोई तृतीय-पक्ष-लिब्स की आवश्यकता को ध्यान में रखते हुए), लेकिन मुझे नहीं लगता कि यह आसान होगा।