Обнаружение веб-сервисов с использованием Python

1

У меня есть несколько устройств в сети. Я пытаюсь использовать библиотеку для обнаружения присутствия и itentity этих устройств с помощью Python script, все устройства имеют веб-службу. Мой вопрос: есть ли какие-либо модули, которые помогли бы мне с этой проблемой, поскольку единственным модулем, который я нашел, является ws-discovery для Python?

И если это единственный модуль, у кого-нибудь есть пример Python script с использованием ws-discovery?

Спасибо за любую помощь.

Теги:
web-services
ws-discovery

2 ответа

1
Лучший ответ

К сожалению, я никогда не использовал ws-discovery самостоятельно, но, похоже, проект Python реализует его: http://code.google.com/p/python-ws-discovery/

Из их документации здесь приведен краткий пример того, как ее использовать:

wsd = WSDiscovery()
wsd.start()

ttype = QName("abc", "def")

ttype1 = QName("namespace", "myTestService")
scope1 = Scope("http://myscope")
ttype2 = QName("namespace", "myOtherTestService_type1")
scope2 = Scope("http://other_scope")

xAddr = "localhost:8080/abc"
wsd.publishService(types=[ttype], scopes=[scope2], xAddrs=[xAddr])

ret = wsd.searchServices()

for service in ret:
    print service.getEPR() + ":" + service.getXAddrs()[0]

wsd.stop()
  • 0
    Я уже использовал этот код и получил его работать, это было что-то на моей стороне сервера. Вы используете service.getXAddrs()[0] чтобы получить xaddress первого сервиса и т. Д. Спасибо за помощь в любом случае
1

Вы привязаны к ws-открытию? Если нет, вы можете рассмотреть протокол Bonjour, например, ZeroConf и DNS-SD. Протокол относительно широко реализован. Я никогда не использовал python для рекламы или обнаружения, но есть проект, который реализует API: http://code.google.com/p/pybonjour/

Как я уже сказал, у меня нет прямого опыта работы с этим проектом и просто укажите его как альтернативу ws-обнаружению.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню