Я пытался создать веб-сервис из некоторых сценариев Python, и мне, похоже, не очень повезло.Я новичок в веб-сервисах в целом, но очень хотел бы выяснить это.Я на Windows 7 и использую IIS7.Служба также должна быть SOAP.
Я прочитал большинство постов, которые имеют какое-либо отношение к python и SOAP, и опробовал почти все разные библиотеки, но большинство из них просто кажутся мне (особенно ZSI / SOAPpy).Библиотека Ладона, кажется, будет лучше (и проще) для того, что мне нужно, но учебник http://www.youtube.com/watch?v=D_JYjEBedk4&feature=feedlik теряет меня в 5:10, когда он переносит его на сервер.Когда я набираю ladon2.6ctl в cmd, кажется, что окна запутались.Я предполагаю, что это немного по-другому, потому что он работает на Linux и использует Apache.
При этом, любые советы о том, как запустить веб-службу Python на «вещи» Microsoft, будут очень благодарны, так какЯ пытался выяснить это слишком долго.
Одна вещь, на которую стоит обратить внимание, это причина, по которой вещи настолько специфичны (и кажутся странными), потому что скрипты, которые я использую, выполняют много геообработки с ESRI "arcpy ".
- Дополнение -
Traceback on localhost:8080/TestService:
Traceback (most recent call last):
<br>File "c:\Python26\ArcGIS10.0\lib\site-packages\ladon-0.5.1-py2.6.egg\ladon\server\wsgi_application.py", line 229, in __call__
exec("import %s" % ','.join(self.service_list))
File "<string>", line 1, in <module>
File "c:\Users\r\workspace\ladon\src\testspace.py", line 3, in <module>
class TestService2(object):
File "c:\Users\r\workspace\ladon\src\testspace.py", line 4, in TestService2
@ladonize(int,int,rtype=int)
File "c:\Python26\ArcGIS10.0\lib\site-packages\ladon-0.5.1-py2.6.egg\ladon\ladonizer\decorator.py", line 87, in decorator
ladon_method_info = global_service_collection().add_service_method(f,*def_args,**def_kw)
File "c:\Python26\ArcGIS10.0\lib\site-packages\ladon-0.5.1-py2.6.egg\ladon\ladonizer\collection.py", line 119, in add_service_method
sinfo = self.source_info(src_fname)
File "c:\Python26\ArcGIS10.0\lib\site-packages\ladon-0.5.1-py2.6.egg\ladon\ladonizer\collection.py", line 79, in source_info
a = ast.parse(src)
File "c:\Python26\ArcGIS10.0\lib\ast.py", line 37, in parse
return compile(expr, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 1
from ladon.ladonizer import ladonize
^
SyntaxError: invalid syntax
пример кода:
from ladon.ladonizer import ladonize
class TestService2(object):
@ladonize(int,int,rtype=int)
def sum(self,a,b):
'''add two numbers<br>
param a: number 1
param b: number 2
rtype: sum of result
'''
return a+b