을 내가 가지고 (서비스가 ASP.net로 작성)를 SOAP 웹 서비스 호출 Suds을 사용하여 다음과 같은 간단한 파이썬 테스트 스크립트 :파이썬/배트는 : 찾을 수없는 유형 : '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/">
I 오전 출력의 마지막 줄을 기반으로 추측 : 나는 수드의 doctor class를 사용할 필요가
suds.TypeNotFound: Type not found: 'xs:complexType'
스키마를 수정하지만 SOAP 초보자 내가 내 경우에는 고정 정확히 요구를 모르는 것. 여기 누군가는 Suds를 사용하여 스키마를 수정/수정 한 경험이 있습니까?
난 그냥 간단한 C# 테스트 응용 프로그램을 시도하고이 서비스에 연결할 수 있습니다 (하지만 다음 ASP.net 기반 서비스입니다). Suds가 기본적으로 지원하지 않는 Microsoft 특정 서비스 일 수 있습니까? – Danielb
서비스가 DataSet을 반환하려고 시도하는 것 같습니다. 로거에 다음과 같은 메시지가 표시됩니다. 경고 : suds.bindings.unmarshaller : 속성 (IsDataSet) 유형, 찾을 수 없음 경고 : suds.bindings.unmarshaller : 속성 (이름) 유형이 발견되지 않음 오류 : suds .bindings.unmarshaller : Schema : 0x7fce048c – Danielb
SUDS처럼 들리는데 데이터 세트의 구조를 지정하는 태그에서 가져 오지 못합니다. WSDL에서 수입품을 검색 했습니까? 이것이 답이면 SUDS의 ImportDoctor가 도움이 될 것입니다. https://fedorahosted.org/suds/wiki/Documentation#FIXINGBROKENSCHEMAs –
ewall