2014-04-23 71 views
0

我在Python的noob,但现在我必须为我的web服务调用创建一个示例python(v2.7)代码。它似乎工作,但是当我打开IIS上的这个Web应用程序的“Windows身份验证”,它停止工作。我用SUDS库。请帮助添加auth信息来调用我的web服务。提前致谢!Python Webservice呼吁与Windows身份验证

import suds 
import urllib2 
import logging 
from suds.transport.http import HttpAuthenticated 
from suds.client import Client 

##************************************************************************* 
wsdlloc = 'http://myserver.com/myWebService.asmx' 
wsdlurl = wsdlloc+'?wsdl' 
login="test" 
pwd="test123" 
##************************************************************************* 
if True: 
    logging.basicConfig(level=logging.DEBUG) 
    logging.getLogger('suds').setLevel(logging.DEBUG) 
##------------------- 

##--- IT IS WORKING WHEN NO WINDOWS AUTHENTICATION IS NEEDED 
if False: 
    c = Client(url=wsdlurl) 
    list = c.service.myFunc("2014-05-08","2014-05-28") 
    print(list) 

##--- IT GENERATES "suds.transport.TransportError: HTTP Error 401: Unauthorized" 
if True: 
    trnsport = suds.transport.http.HttpAuthenticated(username=login, password=pwd) 
    client = Client(url=wsdlurl, username=login, password=pwd, transport=trnsport) 
    list = client.service.myFunc("2014-05-08","2014-05-28") 
    print(list) 

回答

1

WindowsHttpAuthenticated(..)必须使用,不HttpAuthenticated(...):(对不起我的noob问题。