2010-07-13 5 views
6

Хотя этот вопрос очень популярен в StackOverflow, проведя некоторое время здесь и в Google, я до сих пор не нашел конкретного ответа на вопрос о том, что является наиболее подходящим способом для использования SOAP в Python 3.SOAP-клиент для Python 3

Я взглянул на Does a Python 3 SOAP client module exist?, и я надеюсь, что он устарел, и сегодня может возникнуть некоторое решение.

Я думал о некоторых идеях:

  1. Используйте 2to3 сценарий к порту некоторых существующим библиотекам Python 3 (мыльный щелок, и т.д.).
  2. нагрузки внешний модуль, путем смешивания технологий (Py3k + Jython, Py3k + Python 2.6 и т.д.)
  3. Запись в классах Python жестко, что соответствует определениям WSDL-файлов (что подразумевает в жесткой муфтой/высоким содержанием) ,
  4. Напишите программное обеспечение в Python 3.0, вызовите функции модуля «python2.6-only» через execnet package. Для этого требуется, чтобы Python 2.6 был установлен на компьютере, а программное обеспечение, написанное на Python3.0, было замороженным двоичным кодом.

Любые идеи?

Заранее спасибо

ответ

1

я бы, вероятно, начать, пробуя ваш предложил 2to3 порт. Для многих вещей это работает очень хорошо. Полагаю, все равно будет день или две работы, чтобы превратить что-то вроде пены.

+0

Я не верю, что это решение будет работать, 2to3 был разработан, чтобы делать простые переводы, такие как отпечатки, исключения, абсолютный импорт и т. Д. В противном случае я предполагаю, что SOAPy-клиент для py3k будет выпущен. Вы не согласны? –

+0

@ Эдуардо: Не знаю. Я видел, что некоторые модули Python (в том числе некоторые довольно сложные) конкретно указывают, что их официальный механизм перехода состоит в том, чтобы гарантировать, что 2to3 работает как можно лучше на своей кодовой базе. Вы заметите, что в документации для 2to3 (http://docs.python.org/library/2to3.html) указано следующее: «Стандартная библиотека содержит богатый набор исправлений, которые будут обрабатывать практически весь код». –

+0

2to3 хорошо работает для многих кодовых баз. Места, в которых он ломается, - это те места, где авторы пытались быть слишком умными и делали странное использование краевых случаев. Если код написан в прямом, питоническом стиле, то 2to3 часто выполняет большую часть работы. –

Смежные вопросы