2010-05-14 10 views
6

मैंने अपनी .war फ़ाइल में एक jax-ws-catalog.xml जोड़ा है ताकि दूरस्थ रूप से schemaLocation को स्थानीय रूप से हल किया जा सके। मैंक्या किसी ने भी मेट्रो पर स्कीमा लोकेशन को हल करने के लिए जैक्स-ws-catalog.xml प्राप्त किया है?

Metro User Guide: 2.10. Developing client application with locally packaged WSDL

में उदाहरण का पालन किया है जब मैं .war तैनाती और वेब सेवा यह अटक जाती है मान्य करने के लिए schemaLocation http://somehost:8080/CMDB/schemas/common/1.0/CMDBCommonTypes.xsd

स्कीमा का उपयोग करने की कोशिश कर रहा soapUI का उपयोग करें और wsdl दोनों में मान्य ग्रहण (एक्लिप्स के लिए एक्सएमएल कैटलॉग टूल का उपयोग करना)। (मैं अपने जैक्स-ws-catalog.xml और प्रासंगिक xsd और wsdl की सामग्री पोस्ट कर सकता हूं यदि इससे मदद मिलेगी।

एक Google खोज जैक्स-ws-catalog.xml में काम नहीं कर रही अन्य समस्याओं को बदल देती है मेट्रो ढेर।

किसी को भी मेट्रो में काम करने के लिए एक JAX-WS-catalog.xml मिल गया है?

+0

क्या आप इसे अभी हल कर सकते हैं? आपने अपनी जैक्स-ws-catalog.xml फ़ाइल कहां रखी? मेरे ऐप में यह इस तरह दिखता है: वेब-आईएनएफ/जैक्स-डब्ल्यूएस-कैटलॉग.एक्सएमएल – hugri

+0

@ हबर्टग: आप क्लाइंट या सर्वर लिख रहे हैं या नहीं, इस पर निर्भर करते हुए, आप इसे 'मेटा-आईएनएफ' या 'वेब-आईएनएफ' । Https://jax-ws.dev.java.net/nonav/2.1.5/docs/catalog-support.html –

उत्तर

15

आप JAX-WS-catalog.xml और WSDL फ़ाइलें कहाँ दे रहे हैं?

आप उल्लेख किया है कि आप एक WAR का उपयोग कर रहे हैं, लेकिन एक WAR के भीतर jax-ws-catalog.xml का स्थान इस बात पर निर्भर करता है कि क्या आप इसे डब्ल्यूएस क्लाइंट या डब्ल्यूएस एंडपॉइंट प्रकाशक (सर्वर) के रूप में एक्सेस करने का प्रयास कर रहे हैं।

यदि आप अपने वेब के भीतर से बाहरी वेब सेवाओं तक पहुंच रहे हैं, तो आपके जैक्स-डब्ल्यूएस-कैटलॉग.एक्सएमएल को ऐप.वार/वेब-आईएनएफ/कक्षाएं/मेटा-आईएनएफ निर्देशिका, में जाना होगा वैकल्पिक रूप से यदि आपके पास है एक अनुबंध पहली वेब सेवा आपके ऐप के भीतर तैनात की गई है, और उसके पास @ डब्लूएसडीएल लोकेशन एनोटेशन है, उसके बाद डब्लूएसडीएल के लिए, जैक्स-डब्ल्यू ऐप.जर/मेटा-आईएनएफ

में क्लाइंट के लिए जैक्स-डब्ल्यूएस-कैटलॉग.एक्सएमएल की तलाश में है। डबल्यूएसडीएल स्थान app.war/वेब-INF/वर्गों/META-INF/JAX-WS-catalog.xml @WSDLLocation टिप्पणी के साथ अनुबंध पहले WS Endpoints के लिए app.war/META-INF

आप क्या करना चाहते हैं दोनों, यानी प्रकाशित (अनुबंध पहले) के रूप में अच्छी तरह से वेब सेवाओं का उपभोग करते हैं, तो आपको दोनों स्थानों में जैक्स-डब्ल्यूएस-कैटलॉग.एक्सएमएल + डब्ल्यूएसडीएल डालना होगा, यानी ऐप.जर/वेब-आईएनएफ/कक्षाएं/मेटा-आईएनएफ और ऐप.जर/मेटा-आईएनएफ

मैंने अपनी कई परियोजनाओं में उपर्युक्त दृष्टिकोण का सफलतापूर्वक उपयोग किया है, साथ ही साथ वेब सेवाओं का उपभोग भी करते हैं, और मैं गारंटी देता हूं कि यह अपेक्षित कार्य करता है।

+0

देखें आप एक प्रतिभाशाली हैं! मैं मूल जावा एप्लिकेशन के साथ प्रोटोटाइप कर रहा था, जहां कैटलॉग एक्सएमएल/मेटा-आईएनएफ डीआईआर में काम कर रहा था। लेकिन जावा वेब अनुप्रयोगों के साथ काम करते समय, मेटा-आईएनएफ निर्देशिका क्लासपाथ पर नहीं है। वेब-आईएनएफ/कक्षाएं डीआईआर है, और यही कारण है कि आपको jaxws-catalog.xml के साथ मेटा-आईएनएफ फ़ोल्डर बनाना होगा! – NickGreen

+0

आपको वास्तव में उसका जवाब स्वीकार करना चाहिए ... – Sirs

+0

फ़ाइल को 'jax-ws-catalog.xml' नाम दिया जाना चाहिए। उत्तर में 'जैक्स' के बाद ''' गायब है और मुझे कुछ दुख हुआ है। – rveach

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

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