2008-11-07 5 views
13

का उपयोग करके डब्लूएसडीएल उत्पन्न करना सबसे पहले, मैं मानता हूं कि मैं वेब सेवाओं के लिए नौसिखिया हूं, हालांकि मैं HTML और मूल वेब सामग्री से परिचित हूं। मैंने पायथन का उपयोग करके एक त्वरित और गंदे वेब सेवा बनाई है जो एक MySQL डेटाबेस में संग्रहित प्रक्रिया को कॉल करता है, जो कि बस एक बिगिनट मान देता है। मैं इस मूल्य को वेब सेवा में वापस करना चाहता हूं, और मैं एक डब्लूएसडीएल उत्पन्न करना चाहता हूं जिसे मैं अपने वेब डेवलपर्स दे सकता हूं। मैं जोड़ सकता हूं कि संग्रहीत प्रक्रिया केवल एक मान देता है।पायथन और SOAPpy

यहाँ कुछ उदाहरण कोड है:

#!/usr/bin/python 

import SOAPpy 
import MySQLdb 

def getNEXTVAL(): 
    cursor = db.cursor() 
    cursor.execute("CALL my_stored_procedure()") # Returns a number 
    result=cursor.fetchall() 

    for record in result: 
     return record[0] 

db=MySQLdb.connect(host="localhost", user="myuser", passwd="********", db="testing") 
server = SOAPpy.SOAPServer(("10.1.22.29", 8080)) 
server.registerFunction(getNEXTVAL) 
server.serve_forever() 

मैं एक डबल्यूएसडीएल है कि मैं वेब लोगों को दे सकते हैं उत्पन्न करने के लिए चाहते हैं, और मैं सोच रहा हूँ अगर यह SOAPpy सिर्फ मेरे लिए एक उत्पन्न करने के लिए संभव है। क्या यह संभव है?

+0

इस उपयोगकर्ता का प्रयास सबसे अच्छा मैं किसी को उनकी SOAPServer साथ प्रयोग के लिए डबल्यूएसडीएल पैदा करने में अब तक देखा है है: http://osdir.com/ml/python.pywebsvcs.general/ 2006-07/msg00015.html – Matthew

उत्तर

11

जब मैंने पिछले साल पाइथन वेब सेवा लिखने की कोशिश की, तो मैंने ZSI-2.0 (जो SOAPpy के उत्तराधिकारी की तरह कुछ है) और paper available on its web का उपयोग करके समाप्त हो गया।

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

+0

मैंने आपकी सलाह का पालन किया और SOAPpy के बजाय जेएसआई पर स्विच किया, और पेपर और अन्य उदाहरणों का उपयोग करके मैं * ALMOST * अब यह काम कर रहा हूं। धन्यवाद! अकेले ट्यूटोरियल के लिए – m0j0

+0

+1। बहुत अच्छा काम! – Steen

+0

मैं जेएसआईआई का उपयोग करके अपने एसओएपी सर्वर को लागू करने की कोशिश कर रहा हूं, लेकिन मुझे कुछ समस्याएं आईं। क्या आप [इस सवाल] पर एक नज़र डाल सकते हैं (https://stackoverflow.com/questions/44996528/wsdl2dispatch-raises-exception-while- जनरेटिंग- सर्वर- फ़ाइल) और [यह एक] (https://stackoverflow.com/प्रश्न/45005474/कैसे करने वाली बल zsi करने वाली स्वीकार आवेदन-soapxml)? –

1

मैं

आप soaplib कोशिश कर सकते हैं एक डबल्यूएसडीएल है कि मैं वेब लोगों को दे सकते हैं, .... उत्पन्न करना चाहते हैं। इसकी मांग डब्लूएसडीएल पीढ़ी है।

1

कुछ दिनों पहले प्रश्न के लिए खेद है। अब मैं सर्वर को सफलतापूर्वक बुला सकता हूं। एक डेमो प्रदान की जाती है:

def test_soappy(): 
    """test for SOAPpy.SOAPServer 
    """ 
    #okay 
    # it's good for SOAPpy.SOAPServer. 
    # in a method,it can have morn than 2 ws server. 
    server = SOAPProxy("http://localhost:8081/") 
    print server.sum(1,2) 
    print server.div(10,2) 
संबंधित मुद्दे