SOAP y py2exe

Pedro Javier Aljaro Velasco i02alvep en uco.es
Mar Abr 6 12:58:22 CEST 2004


Hola a todos, estoy haciendo un ejemplo de servicio web en python
utilizando SOAP. Utilizo Windows XP, python-2.2, SOAPpy-0.11.3 y
py2exe-0.4.1. Mi servicio web esta dividido en dos partes: un script
cliente y otro script servidor, cuyo código os detallo a continuación:
 
- Fichero script.py (servidor):
 
def bienvenida(arg):
    return "Hola " + arg + " acabas de acceder al servicio web de
i02alvep"
 
def fibrec(n):
    "Escribe n números de Fibonacci."
    if (n < 2):
        return n
    else:
        return fibrec(n-1) + fibrec(n-2)
        
def temperatura():
    from SOAPpy import SOAPProxy
 
s=SOAPProxy("http://services.xmethods.net/soap/servlet/rpcrouter",namesp
ace="urn:xmethods-Temperature")
    temF=s.getTemp('92612')
    resultado=(temF-32)/1.8
    return resultado 
        
server = SOAPServer(('i02alvep.2mydns.net', 8008))
server.registerFunction(bienvenida)
server.registerFunction(fibrec)
server.registerFunction(temperatura)
server.serve_forever()
 
- Fichero cliente.py (cliente):
 
from SOAPpy import SOAPProxy
s=SOAPProxy("http://i02alvep.2mydns.net:8008")
 
nombre=str(raw_input("Introduce tu nombre... "))
print " "
print s.bienvenida(nombre)
print " "
numero=int(raw_input("Introduce un numero para calcular la serie de
Fibonacci... "))
print " "
print "Resultado: "
print s.fibrec(numero)
print " "
print "EJEMPLO DE SERVICIO WEB: Temperatura de California"
print s.temperatura()
 
 
Todo esto funciona correctamente ejecutandolo en scripts. Pues bien, lo
que yo quiero hacer es convertir el script cliente.py a un archivo.exe,
en vez de ejecutar el script poniendo “python cliente.py”. Para
convertir este archivo a .exe estoy utilizando py2exe de la misma forma
que ya habeis indicado otras veces en esta lista, pero después de poner
“python setup.py py2exe”, me voy al directorio dist y ejecuto
cliente.exe y me da el siguiente fallo:
 
Traceback (most recent call last):
  File "<string>", line 2, in ?
  File "SOAPpy\Client.pyc", line 273, in __init__
LookupError: unknown encoding: UTF-8
 
He probado con ejemplos mas sencillos como el hola mundo y me ha
funcionado correctamente. Espero que me podais ayudar.
 
Saludos a la lista y gracias de antemano
 
 
 
Pedro Javier Aljaro Velasco
 




Más información sobre la lista de distribución Python-es