#!/usr/bin/env python ident = '$Id: newsTest.py,v 1.4 2003/05/21 14:52:37 warnes Exp $' import os, re import sys sys.path.insert(1, "..") from SOAPpy import SOAPProxy # Check for a web proxy definition in environment 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://www22.brinkster.com/prasads/BreakingNewsService.asmx?WSDL' MethodNamespaceURI = 'http://tempuri.org/' # Three ways to do namespaces, force it at the server level server = SOAPProxy(SoapEndpointURL, namespace = MethodNamespaceURI, soapaction='http://tempuri.org/GetCNNNews', encoding = None, http_proxy=proxy) print "[server level CNN News call]" print server.GetCNNNews() # Do it inline ala SOAP::LITE, also specify the actually ns (namespace) and # sa (soapaction) server = SOAPProxy(SoapEndpointURL, encoding = None) print "[inline CNNNews call]" print server._ns('ns1', MethodNamespaceURI)._sa('http://tempuri.org/GetCNNNews').GetCNNNews() # Create an instance of your server with specific namespace and then use # inline soapactions for each call dq = server._ns(MethodNamespaceURI) print "[namespaced CNNNews call]" print dq._sa('http://tempuri.org/GetCNNNews').GetCNNNews() print "[namespaced CBSNews call]" print dq._sa('http://tempuri.org/GetCBSNews').GetCBSNews()