2010-07-08 12 views
5

एक वेब सेवा शुरुआती के रूप में, मैंने हेल्लो वर्ल्ड webservice को मैवेन, ग्रहण और टोमकैट के साथ काम करने के लिए 2 सप्ताह तक प्रयास किया है।ग्रहण या टोमकैट पर जाक्स-डब्ल्यूएस सेवा कैसे तैनात करें?

मैंने कोड/wsdl जेनरेटर को काम करने के लिए किसी भी को प्राप्त करने का प्रयास छोड़ दिया, और मैंने इस ट्यूटोरियल http://myarch.com/create-jax-ws-service-in-5-minutes को एक उदाहरण कोड देने के लिए ट्यूटोरियल का पालन किया, जो शानदार है।

इसके परिणामस्वरूप 4 क्लास फाइलें और डब्ल्यूएसडीएल फ़ाइल होती है।

तो मेरा बेवकूफ सवाल यह है कि ग्रहण और/या टॉमकैट में सेवा को "चलाने" कैसे करें?

मैंने उन्हें सिर्फ वेबपैप के रूप में तैनात करने की कोशिश की, लेकिन कोई खुशी नहीं - वेब सेवा में सर्वलेट इंजन को बताने के लिए web.xml में कुछ भी नहीं है, इसलिए मुझे लगता है कि यह कभी काम नहीं कर सकता है।

क्या मुझे टॉमकैट के अंदर एक विशेष वेब सेवा कंटेनर (उदा। अक्ष 2, मेट्रो या सीएक्सएफ) रखना है, और उस पर तैनाती है? या यह सिर्फ कुछ जाक्स-डब्ल्यूएस जार + रहस्य विन्यास के साथ चला सकता है?

मैं टॉमकैट मेट्रो (जो चींटी का उपयोग करता है, और ग्लासफ़िश के लिए desiged) में स्थापित करना नहीं चाहता है, या axis2 (जो चींटी का उपयोग करता है, और ज्यादातर लोग अनुशंसा नहीं करते हैं)।

मैंने सीएक्सएफ को देखा, लेकिन वसंत के बिना टॉमकैट (या ग्रहण) पर इसे स्थापित/कॉन्फ़िगर करने के तरीके पर कहीं भी नहीं मिला। मैंने सीएफ़एक्स जार को मैवेन निर्भरताओं में रखा है, और ग्रहण प्लगइन स्थापित किया है, लेकिन यह आपको रहस्य कॉन्फ़िगरेशन गोंद के साथ वास्तव में एक webservice चलाने के करीब नहीं लेता है। सीएक्सएफ वसंत से जुड़ा हुआ लगता है, जो हमारे लिए एक बड़ा ऋण है क्योंकि हम वसंत का उपयोग नहीं करते हैं (या इसकी किसी भी सुविधा की आवश्यकता है)।

मैंने देखा है कि हेलीओएस wtp में जेएसआर -109 नामक किसी प्रकार की वेब सेवा प्रोजेक्ट है। क्या यह जावा आरपीसी केवल है, या क्या यह पूर्ण एसओएपी websiervice प्रणाली का समर्थन करता है, और क्या यह समझने की कोशिश करने लायक है?

कोई भी सलाह बहुत स्वागत है। मुझे वेब सीरिव पवित्र अंगूर की खोज में 1000 पृष्ठों को गुमराह करना होगा - यानी टोमकैट अंत में एक को बनाने और तैनात करने के लिए कैसे। क्या यह मुश्किल होना चाहिए?

उत्तर

4

फ़ाइल

<servlet> 
    <servlet-name>wshello</servlet-name> 
    <servlet-class> 
     com.sun.xml.ws.transport.http.servlet.WSServlet 
    </servlet-class>    
</servlet>  
<servlet-mapping> 
    <servlet-name>wshello</servlet-name> 
     <url-pattern>/webservice</url-pattern> 
</servlet-mapping> 

और फिर सिर्फ एक फ़ाइल जिसका नाम धूप में jaxws.xml है बनाने के अपने web.xml को यह टुकड़ा जोड़ें।

<?xml version="1.0" encoding="UTF-8"?> 
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0"> 
    <endpoint name="WebServiceTest" 
      implementation="your.webservice.impl.ClassName" 
      url-pattern="/webservice"/> 
</endpoints> 

फिर सामान्य रूप से एक युद्ध फ़ाइल बनाएं। आपको टोमकैट में मूल वेब सेवा को तैनात करने के लिए सीएक्सएफ या एक्सिस की आवश्यकता नहीं है। जिस तरह से जैक्स-डब्ल्यू लाइब्रेरी जार (jaxws-api.jar, jaxb-impl.jar आदि ..) आपके क्लासपाथ में होना चाहिए। आप here

से जैक्स-डब्ल्यूएस पुस्तकालय डाउनलोड कर सकते हैं
1

मुझे पता है कि यह एक cliche है लेकिन ऐसा लगता है जैसे आप पहिया को फिर से शुरू करने की कोशिश कर रहे हैं। एक्सिस 2 और सीएक्सएफ जैसी चीजें हैं। वे आपके लिए बहुत मेहनत करते हैं। मैंने दोनों का उपयोग किया है और उनके साथ बहुत सफलता मिली है। ध्यान रखें मैं सीमित व्यक्तिगत अनुभव से बात कर रहा हूं।

मुझे पता चला है कि सीएक्सएफ और स्प्रिंग एक अनुबंध-पहली जेएक्स-डब्ल्यूएस सेवा स्थापित करना और डब्ल्यूएस-सुरक्षा, संदेश लॉगिंग, स्कीमा सत्यापन और HTTP कॉन्फ़िगरेशन सेटिंग्स भी जोड़ना बहुत आसान बनाता है। अधिकतर वसंत एक्सएमएल कॉन्फ़िगरेशन फ़ाइल के साथ किया जाता है। मैंने यह भी सीखा है कि वसंत का उपयोग क्वार्ट्ज के साथ नौकरियों को निर्धारित करने और आपके डेटा एक्सेस को प्रबंधित करने के लिए भी किया जा सकता है। यह एक सुंदर आसान उपकरण है।

एक्सिस 2, जबकि मैंने इसे थोड़ी देर में उपयोग नहीं किया है, मुझे याद है कि कुछ पीओजेओ को न्यूनतम प्रयास के साथ सेवा में बदलना बहुत आसान हो गया है।

मेट्रो के साथ मेरा एकमात्र अनुभव नेटबीन के साथ बनाई गई एक छोटी परीक्षण सेवा है और इसे अंतर्निहित ग्लासफ़िश सर्वर पर चलाया गया है। यह बहुत आसान था, लेकिन आईडीई ने आपके लिए बहुत सारे काम किए, जो शायद सीखने का एक अच्छा तरीका नहीं है। ऐसा लगा कि यह सिर्फ माउस क्लिक का एक गुच्छा ले लिया और अचानक अचानक एक सेवा थी।

भी this question संबंधित है।

शुभकामनाएं!

1

http://www.jroller.com/gmazza/entry/web_service_tutorial पर एक नज़र डालें। यह सीएक्सएफ और मेट्रो के लिए कदम गाइड द्वारा एक पूर्ण कदम है। टॉमकैट का उपयोग तैनाती के लिए किया जाता है और यदि आप परियोजना निर्माण के आयोजन के लिए एक दूसरे विकल्प को प्राथमिकता देते हैं तो मैवेन और चींटी संस्करण भी होते हैं।

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