[Zope] PyXML and SOAPpy installation for Zope
Charlie Jones
cj@charlie-jones.com
Tue, 22 Jul 2003 16:57:15 -0400
Ok..the suggestions below seem to have worked for installing the libs.
I can now run the test scripts that came with SOAPpy with the Zope
python interpreter. Now I am trying create some External Methods based
off of these test scripts. I am running into a problem. I think it's
related to the import statements I am using.
Here's the imports I'm doing for the methods, these are taken directly
from the test scripts that run fine against the Zope python interpreter:
import os, re
import sys
from SOAPpy import SOAPProxy
When I try to access the external methods I get the following error
from Zope:
Error Type: ImportError
Error Value: cannot import name SOAPProxy
Other than the import statements above, the only other references to
SOAPProxy are in the following form:
server = SOAPProxy(SoapEndpointURL, http_proxy=proxy)
The parameter variables are set before this statement. As I mentioned
before, running the test scripts against the Zope version of python
works fine. Does Zope handle importing differently than python?
Here's the method code I created in the Extensions directory. Creating
the External Methods works fine, it's just when I try to access them
via dtml.
--------------------------------------------------
import os, re
import sys
from SOAPpy import SOAPProxy
def getTemp(zip):
try:
proxy_url=os.environ['http_proxy']
phost, pport =
re.search('http://([^:]+):([0-9]+)',proxy_url).group(1,2)
proxy = "%s:%s" % (phost, pport)
except:
proxy = None
SoapEndpointURL =
'http://services.xmethods.net:80/soap/servlet/rpcrouter'
MethodNamespaceURI = 'urn:xmethods-Temperature'
# Do it inline ala SOAP::LITE, also specify the actually ns
server = SOAPProxy(SoapEndpointURL, http_proxy=proxy)
result = server._ns('ns1', MethodNamespaceURI).getTemp(zipcode=zip)
def translate(to, phrase):
try:
proxy_url=os.environ['http_proxy']
phost, pport = re.search('http://([^:]+):([0-9]+)',
proxy_url).group(1,2)
proxy = "%s:%s" % (phost, pport)
except:
proxy = None
server =
SOAPProxy("http://services.xmethods.com:80/perl/
soaplite.cgi",http_proxy=proxy)
babel = server._ns('urn:xmethodsBabelFish#BabelFish')
result = babel.BabelFish(translationmode = to,sourcedata = phrase)
On Tuesday, July 22, 2003, at 03:41 PM, Fred Yankowski wrote:
> On Tue, Jul 22, 2003 at 02:23:46PM -0400, Charlie Jones wrote:
>> I am trying to create some External Methods in Zope to access some
>> simple web services. I have both these packages working under the
>> default Python installation on my server, but I don't have a clue on
>> how to get them to install in the python setup for Zope.
>
> You should be able to install them in the zope SOFTWARE_HOME and then
> import and use them as usual (for python programs) from your External
> Methods. If you installed a binary version of Zope that comes with
> its own python executable, you could do this to install the software:
>
> cd some_distutils_compatible_python_package
> /usr/local/Zope-2.6.1-linux2-x86/bin/python setup.py install
>
> If you are running some other python executable, you can add command
> line arguments to the above 'install' command to direct it to install
> the software into the Zope SOFTWARE_HOME. Or you could let it install
> in that python's default library -- it's all the same as far as being
> importable into an External Method.
>
> --
> Fred Yankowski fred@ontosys.com tel: +1.630.879.1312
> OntoSys, Inc PGP keyID: 7B449345 fax: +1.630.879.1370
> www.ontosys.com 38W242 Deerpath Rd, Batavia, IL 60510-9461, USA
>
> _______________________________________________
> Zope maillist - Zope@zope.org
> http://mail.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )
>