wsdl

2012-12-27 22 views
26

पर आधारित पायथन साबुन सर्वर बनाएं मेरे पास जावा उत्पाद पर संचार सर्वर-क्लाइंट का वर्णन करने वाली एक wsdl फ़ाइल है। मैं पाइथन के आधार पर एक नया सर्वर कार्यान्वित कर रहा हूं जो समान सेवाओं को लागू करेगा।wsdl

क्या आप wsdl के आधार पर पाइथन सर्वर कोड बनाने के लिए किसी भी विधि के बारे में जानते हैं, जिसमें मुझे शामिल सभी पूर्णताएं लिखने की आवश्यकता नहीं है?

इसके अलावा, आप क्या एपीआई की सिफारिश करते हैं?

+3

I से मेल नहीं खाता। मैं इस पर एक बक्षीस जोड़ रहा हूँ। मैं विश्वास नहीं कर सकता कि कोई अच्छा समाधान नहीं है। –

+0

बीटीडब्लू: क्या आप किसी भी पुस्तकालय को जानते हैं जो डब्लूएसडीएल के आधार पर कोड उत्पन्न कर सकता है (पायथन नहीं)? मुझे आश्चर्य है कि स्पाइने के लिए ऐसी कार्यक्षमता को लागू करना कितना मुश्किल होगा (डब्लूएसडीएल के आधार पर मॉडल उत्पन्न करें)। – Pax0r

+1

लगता है कि कोई परिपक्व पायथन साबुन सर्वर नहीं है ... यह विश्वास नहीं कर सकता कि यह पाइथन –

उत्तर

13

जब एसओएपी समर्थन की बात आती है, तो पाइथन दुर्भाग्यवश अब "बैटरी शामिल" के साथ नहीं है। ग्राहक पक्ष पर समर्थन स्वीकार्य है लेकिन सर्वर की तरफ आप मूल रूप से अपने आप हैं।

आप शुरुआत के लिए निम्नलिखित को देखने के लिए चाहते हो सकता है:

http://wiki.python.org/moin/WebServices

http://pywebsvcs.sourceforge.net/

http://doughellmann.com/2009/09/01/evaluating-tools-for-developing-with-soap-in-python.html

तुम सच में इस मार्ग पर जाना चाहते हैं, ऐसा लगता है कि ZSI है उपकरण का उपयोग करने के लिए, हालांकि मुझे संदेह है कि यह नवीनतम 2.x पायथन वितरण के साथ काम करेगा।

पायथन 2.6.6 का उपयोग करके, मैंने डब्लूएसडीएल से शुरू होने वाली वेब सेवा बनाने के लिए जेडएसआई 2.0 का उपयोग करने की कोशिश की। wsdl2py और के साथ कोड उत्पन्न करते समय कुछ "मॉड्यूल को बहिष्कृत कर दिया गया है" को PyXML को अलग से स्थापित करना था और इसे sys.path को पहले इसे हल करने के लिए हैक करना था या फिर मुझे "मॉड्यूल ext.reader मौजूद नहीं है" तो केवल अंत तक निराशाजनक के साथ "ZSI: EvaluateException शून्य के लिए कोई नहीं मिला (झूठा), minOccurs (1) तत्व" मूलभूत पर त्रुटि "हैलो दुनिया!" एक आवश्यक तत्व के साथ डब्ल्यूएस। के लिए nillable (झूठी) EvaluateException गॉट कोई नहीं, minOccurs (1:

ZSI 2.1_a1 जो अब PyXML की जरूरत है और wsdl2py यह सब करता है (क्या wsdl2dispatch 2.0 के लिए किया था), लेकिन अभी भी "के साथ ZSI एक मरे हुए अंत में समाप्त हो गया पर स्विच किया गया) तत्व "त्रुटियां।

अनुभव बहुत मजेदार नहीं था लेकिन यह मेरे लिए पर्याप्त था कि पाइथन को एसओएपी वेब सेवाओं के लिए क्या पेशकश करनी है ... जो अधिक नहीं है (और यह केवल मूल वेब सेवाओं के लिए कुछ भी नहीं था WS-* specs की तरह)। YMMV!

संपादित करें: मैं हाल ही में this SO question टकरा, और हालांकि बनाम एक ग्राहक समाधान उन्मुख, यह भी सोप सेवाओं के निर्माण के लिए कुछ पुस्तकालयों का उल्लेख करता है।

+2

पर हो रहा है दुर्भाग्यवश, मैं आपके समाधान से सहमत हूं। एसओएपी सर्वर के लिए पायथन समर्थन इतना अच्छा नहीं है। उम्मीद है कि इन "नई" पुस्तकालयों में कुछ सफलता है। धन्यवाद! – inversus

15

इस प्रश्न को पर्याप्त ध्यान नहीं मिला है।

वर्तमान में स्वीकृत उत्तर अच्छा है, लेकिन इसका उत्तर 'नहीं' है। क्या वास्तव में कोई उचित रखरखाव और सामान्य समाधान नहीं है?

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

अद्यतन आप spyne का उपयोग कर सकते हैं। यह एक अजगर आरपीसी टूलकिट है कि अन्य प्रोटोकॉल के बीच SOAP का समर्थन करता है। यह आपके लिए डब्लूएसडीएल तैयार करेगा, लेकिन यदि आपका उद्देश्य डब्लूएसडीएल द्वारा वर्णित सेवा को कार्यान्वित कर रहा है, तो आपके पास पहले से ही है, तो आपको अपनी स्पाइन सेवा (पायथन में लिखी गई) को ठीक से ट्यून करना होगा जब तक कि जेनरेट डब्लूएसडीएल मूल

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

  • कोई संबंधित समस्या नहीं^_^