मैं निम्नलिखित सरल अजगर परीक्षण स्क्रिप्ट Suds का उपयोग करता है एक सोप वेब सेवा (सेवा ASP.net में लिखा है) कॉल करने के लिए:अजगर/बीर: प्रकार नहीं मिला: 'XS: complexType'
from suds.client import Client
url = 'http://someURL.asmx?WSDL'
client = Client(url)
result = client.service.GetPackageDetails("MyPackage" )
print result
जब मैं इस परीक्षण स्क्रिप्ट मैं निम्न त्रुटि हो रही है चलाने (प्रयुक्त कोड मार्कअप लपेट के रूप में नहीं है):
No handlers could be found for logger "suds.bindings.unmarshaller"
Traceback (most recent call last):
File "sudsTest.py", line 9, in <module>
result = client.service.GetPackageDetails("t3db" )
File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 240, in __call__
File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 379, in call
File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 240, in __call__
File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 422, in call
File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 480, in invoke
File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 505, in send
File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 537, in succeeded
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/binding.py", line 149, in get_reply
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 303, in process
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 88, in process
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 104, in append
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 181, in append_children
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 104, in append
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 181, in append_children
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 104, in append
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 181, in append_children
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 102, in append
File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py", line 324, in start
suds.TypeNotFound: Type not found: 'xs:complexType'
WSDL फ़ाइल के हेडर के लिए स्रोत को देखते हुए (फिट करने के लिए पुन: स्वरूपित):
<?xml version="1.0" encoding="utf-8" ?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://http://someInternalURL/webservices.asmx"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://someURL.asmx"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
मैं उत्पादन की अंतिम पंक्ति के आधार पर अनुमान लगा हूँ:
suds.TypeNotFound: Type not found: 'xs:complexType'
मैं सूद के doctor class उपयोग करने की आवश्यकता है कि स्कीमा ठीक करने के लिए किया जा रहा है लेकिन एक सोप नौसिखिया मैं वास्तव में क्या जरूरत है मेरे मामले में तय हो गई पता नहीं है। क्या किसी को स्कीमा को ठीक करने/सही करने के लिए सूड का उपयोग करके कोई अनुभव है?
मैंने अभी एक सरल सी # परीक्षण आवेदन करने की कोशिश की है और यह इस सेवा से जुड़ा जुड़ा हो सकता है (लेकिन फिर सेवा एएसपीनेट आधारित है)। क्या यह माइक्रोसॉफ्ट विशिष्ट कुछ हो सकता है कि सूड डिफ़ॉल्ट रूप से समर्थन नहीं करता है? – Danielb
ऐसा लगता है कि सेवा डेटासेट को वापस करने का प्रयास कर रही है। मैं लॉगर में निम्नलिखित देख रहा हूं: चेतावनी: suds.bindings.unmarshaller: विशेषता (IsDataSet) प्रकार, नहीं मिला चेतावनी: suds.bindings.unmarshaller: विशेषता (नाम) प्रकार, नहीं मिला त्रुटि: सूड .bindings.unmarshaller: स्कीमा: 0x7fce048c – Danielb
मुझे लगता है जैसे एसयूडीएस टैग से आयात नहीं कर रहा है जो डेटा सेट की संरचना निर्दिष्ट करता है। क्या आपने आयात के लिए अपने डब्लूएसडीएल की खोज की है? यदि यह उत्तर है, तो SUDS 'ImportDoctor मदद करने में सक्षम होना चाहिए। Https://fedorahosted.org/suds/wiki/Documentation#FIXINGBROKENSCHEMAs –
ewall