2009-07-16 16 views
11

मैं एक डब्ल्यूसीएफ wshttpbinding वेब सेवा के साथ संवाद करने के लिए एक जावा क्लाइंट प्राप्त करने की कोशिश कर रहा हूँ। लेकिन मैं ऐसा करने में असमर्थ हूं। कॉल या तो लटकता है, या मुझे "musunderstoodheader expcetions" मिलता है।जावा में डब्ल्यूसीएफ WsHttp बाइंडिंग वेब सेवा का उपभोग

मेरी वेब सेवा केवल डिफ़ॉल्ट विजुअल स्टूडियो जेनरेट "डब्ल्यूसीएफ सेवा लाइब्रेरी टेम्पलेट" है।

मेरा वेब सेवा क्लाइंट केवल एक खाली इंटेलिजे प्रोजेक्ट है, जिसमें "वेब सेवा क्लाइंट जोड़ें" का उपयोग करके उत्पन्न संबंधित स्टब है (निर्दिष्ट webservice प्लेटफ़ॉर्म JAX-WS 2.X है)।

जब मैं अपने बाध्यकारी को BasicHttp बाइंडिंग में बदलता हूं तो सब कुछ बेकार ढंग से काम करता है।

मैं सुरक्षा को बंद करने सहित, WsHttpBinding विन्यास के साथ खेल की कोशिश की है, लेकिन मैं कोई सफलता मिली है।

सुझाव? विचार? क्या WSHttp बाइंडिंग केवल आंशिक रूप से जेएक्स-डब्ल्यूएस 2.0 द्वारा समर्थित है?

उत्तर

14

आपकी समस्या यह है कि JAX-WS उसी डब्ल्यूएस प्रोटोकॉल का समर्थन नहीं करता है जो wsHttp बाइंडिंग में उपयोग किया जाता है। आपको इसके बजाय WSIT का उपयोग करने की आवश्यकता है। डब्ल्यूएसआईटी Metro लाइब्रेरी के हिस्से के रूप में उपलब्ध है, जो Glassfish पर भी उपलब्ध है।

मैं जहां संभव हो wsHttp बाइंडिंग या ws2007Http बाइंडिंग का उपयोग करने की सलाह देता हूं, लेकिन आप अभी भी एसएसएल/ट्रांसपोर्ट ऑथ पर मूल एचटीपी बाइंडिंग के साथ एक काफी सुरक्षित सेवा कर सकते हैं।

0

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

एक बार जब आप दो बात कर है, धीरे-धीरे प्रत्येक सुरक्षा तत्व जोड़ के माध्यम से काम जब तक आप अपने जावा ग्राहक को सही ढंग से cofigured है।

+0

जैसा कि कहा गया है, मैंने पहले से ही सभी सुरक्षा बंद कर दी है। – vicsz

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