Невозможно получить ответ XML от службы SOAP в Python

Я пытаюсь получить ответ / файл XML из службы SOAP.

Некоторые первые замечания: Сам сервис не предоставляется никакой документации, кроме имени пользователя, пароля и URL. Из-за нашего конвейера данных я должен использовать Python для извлечения данных. В качестве альтернативы, если его можно запустить из командной строки Linux, я мог бы поспорить об этом.

После этого, следуя документации Zeep, я запустил это для настройки клиента:

session = Session()
session.auth = HTTPBasicAuth(user, password)
client = Client(url, transport=Transport(session=session))

Единственное, что мне удалось добиться - это:

doc = client.wsdl
doc.dump()

Какие выводы:

Prefixes:
     ns0: http://tempuri.org/
     xsd: http://www.w3.org/2001/XMLSchema
     ns1: http://schemas.microsoft.com/2003/10/Serialization/

Global elements:
     ns1:QName(xsd:QName)
     ns1:anyType(None)
     ns1:anyURI(xsd:anyURI)
     ns1:base64Binary(xsd:base64Binary)
     ns1:boolean(xsd:boolean)
     ns1:byte(xsd:byte)
     ns1:char(ns1:char)
     ns1:dateTime(xsd:dateTime)
     ns1:decimal(xsd:decimal)
     ns1:double(xsd:double)
     ns1:duration(ns1:duration)
     ns1:float(xsd:float)
     ns1:guid(ns1:guid)
     ns1:int(xsd:int)
     ns1:long(xsd:long)
     ns1:short(xsd:short)
     ns1:string(xsd:string)
     ns1:unsignedByte(xsd:unsignedByte)
     ns1:unsignedInt(xsd:unsignedInt)
     ns1:unsignedLong(xsd:unsignedLong)
     ns1:unsignedShort(xsd:unsignedShort)
     ns0:DataFeedEcho(value: xsd:string)
     ns0:DataFeedEchoResponse(DataFeedEchoResult: xsd:string)
     ns0:GetDetectorConfiguration(userName: xsd:string, password: xsd:string)
     ns0:GetDetectorConfigurationResponse(GetDetectorConfigurationResult: xsd:string)
     ns0:GetDetectorData(userName: xsd:string, password: xsd:string)
     ns0:GetDetectorDataResponse(GetDetectorDataResult: xsd:string)
     ns0:GetIncidentData(userName: xsd:string, password: xsd:string)
     ns0:GetIncidentDataResponse(GetIncidentDataResult: xsd:string)


Global types:
     xsd:anyType
     ns1:char
     ns1:duration
     ns1:guid
     xsd:ENTITIES
     xsd:ENTITY
     xsd:ID
     xsd:IDREF
     xsd:IDREFS
     xsd:NCName
     xsd:NMTOKEN
     xsd:NMTOKENS
     xsd:NOTATION
     xsd:Name
     xsd:QName
     xsd:anySimpleType
     xsd:anyURI
     xsd:base64Binary
     xsd:boolean
     xsd:byte
     xsd:date
     xsd:dateTime
     xsd:decimal
     xsd:double
     xsd:duration
     xsd:float
     xsd:gDay
     xsd:gMonth
     xsd:gMonthDay
     xsd:gYear
     xsd:gYearMonth
     xsd:hexBinary
     xsd:int
     xsd:integer
     xsd:language
     xsd:long
     xsd:negativeInteger
     xsd:nonNegativeInteger
     xsd:nonPositiveInteger
     xsd:normalizedString
     xsd:positiveInteger
     xsd:short
     xsd:string
     xsd:time
     xsd:token
     xsd:unsignedByte
     xsd:unsignedInt
     xsd:unsignedLong
     xsd:unsignedShort

Bindings:
     Soap11Binding: {http://tempuri.org/}BasicHttpBinding_IDataFeedService

Service: DataFeedService
     Port: BasicHttpBinding_IDataFeedService (Soap11Binding: {http://tempuri.org/}BasicHttpBinding_IDataFeedService)
         Operations:
            DataFeedEcho(value: xsd:string) -> DataFeedEchoResult: xsd:string
            GetDetectorConfiguration(userName: xsd:string, password: xsd:string) -> GetDetectorConfigurationResult: xsd:string
            GetDetectorData(userName: xsd:string, password: xsd:string) -> GetDetectorDataResult: xsd:string
            GetIncidentData(userName: xsd:string, password: xsd:string) -> GetIncidentDataResult: xsd:string

Что, не зная SOAP, но читая Zeep, заставляет меня думать, что я должен быть в состоянии запустить:

incidentData = dfclient.service['GetIncidentData']
incidentData(userName=user, password=password)

Но он возвращает эту ошибку:

ConnectionError: ('Connection aborted.', gaierror(8, 'nodename nor servname provided, or not known'))

Я не совсем уверен, как действовать дальше, но я понимаю, что команда dump должна дать мне то, что мне нужно знать, чтобы заставить это работать, а остальное моя вина?

0 ответов

Другие вопросы по тегам