Найти - Пользователи
Полная версия: Метод WSDL возвращает 404
Начало » Python для новичков » Метод WSDL возвращает 404
1
Dariloff
Впервые столкнулся в вебсервисом. Раньше как-то стороной обходил.
Имеем описание сервиса http://utender.ru/public/services/datetime/DateTimeService.asmx
Его wsdl: http://utender.ru/public/services/datetime/DateTimeService.asmx?WSDL
В теории метод GetDateTime() должен вернуть время площадки.

from suds.client import Client
client = Client('http://utender.ru/public/services/datetime/DateTimeService.asmx?WSDL',faults=False)
print client
client.set_options(port='DateTimeServiceSoap')
print client.service[0].GetDateTime()

Suds ( https://fedorahosted.org/suds/ ) version: 0.4 GA build: R699-20100913

Service ( DateTimeService ) tns="http://tempuri.org/
Prefixes (0)
Ports (2):
(DateTimeServiceSoap)
Methods (1):
GetDateTime()
Types (0):
(DateTimeServiceSoap12)
Methods (1):
GetDateTime()
Types (0):


No handlers could be found for logger ”suds.client"
(404, None)

Причём есть площадки-клоны с теми самыми же вебсевисами и там тоже самое.
И сам вебсервис на сайте http://utender.ru/ работает. В правом верхнем углу нажимаешь на время и оно через него обновляется.
Что я делаю не так?
GreyZmeem
В WSDL для сервиса прописан url:
<wsdl:service name="DateTimeService">
<wsdl:port name="DateTimeServiceSoap" binding="tns:DateTimeServiceSoap">
<soap:address location="http://utender.ru/Services/DateTimeService.asmx"/>
</wsdl:port>
<wsdl:port name="DateTimeServiceSoap12" binding="tns:DateTimeServiceSoap12">
<soap12:address location="http://utender.ru/Services/DateTimeService.asmx"/>
</wsdl:port>
</wsdl:service>
http://utender.ru/Services/DateTimeService.asmx - на который возвращается 404, что вам и пишет suds.
Dariloff
это я уже всё расковырял и узнал. Я закинул WSDL в несколько онлайн тестеров. Все они ошибку показали. Похоже доступ заблочен.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB