Я хочу получить данные из веб-сервиса.Конечная точка сохраняется в теге адреса адреса в ответе wsdl.Как извлечь из него адрес этого местоположения?
Я использовал xml.etree.ElementTree для извлечения элементов.Я нашел его в событиях запуска как "" "start http://schemas.xmlsoap.org/wsdl/soap/}address' at 0x00000032DF7AC908>" "", но он находится в адресе ('0x00000032DF7AC908').Я не мог прочитать это.
Кроме того, я использовал Клиент от Zeep.Я мог найти значения службы, портов, операции и т. Д. Но я не смог найти адрес местоположения
import requests
import xml.etree.ElementTree as et
import operator
from io import StringIO
from zeep import Client
from requests.auth import HTTPBasicAuth # or HTTPDigestAuth, or OAuth1, etc.
from zeep.transports import Transport
from requests import Session
url="aaa"
user="bbb"
pwd="ccc"
response = requests.get(url, auth=(user, pwd))
my_schema = response.text
#############################################################################
#part1
events = ['start']
for event, elem in et.iterparse(StringIO(my_schema), events=events):
print (event, elem)
#############################################################################
#part2
session = Session()
session.auth = HTTPBasicAuth(user, pwd)
client = Client(url, transport=Transport(session=session))
for service in client.wsdl.services.values():
print ("service:", service.name)
for port in service.ports.values():
operations = sorted(
port.binding._operations.values(),
key=operator.attrgetter('name'))
print("port :",port)
print("binding :",port.binding)
print("operation :",operations)
for operation in operations:
print ("method :", operation.name)
print (" input :", operation.input.signature())
print (" output:", operation.output.signature())
print("list", operation.input.body.type.elements)
. В первой части я получил это: start http://schemas.xmlsoap.org/wsdl/soap/}address' at 0x00000032DF7AC908>.Как я могу прочитать это с того адреса?
Во второй части я не смог найти никакой информации об этом.Что я должен использовать, чтобы получить это?