[Fedora-suds-list] authentication error

Bryan belred at gmail.com
Sat Oct 18 00:11:17 UTC 2008


i'm trying to use suds to connect to scrumworks pro which is hosted in
our company.  i'm able login with ZSI and i'm able to login manually
to the web client, so i know my name and password is correct.  i
followed the ZSI code internal code and it's simply using http basic
auth to authenticate.  i followed the suds basic auth example, but i
get an unauthorized exception when calling any service api as shown at
the end of this email.   any ideas why i'm getting this error with
suds?

thanks,

bryan

-----

import urllib2
from suds.client import Client

baseurl = 'http://scrumworks.mycompany.com/'
url = 'http://scrumworks.mycompany.com/scrumworks-api/scrumworks?wsdl'
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, baseurl, 'myname', 'mypassword')
opener = urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))

client = Client(url, urlopener=opener)
print client

user = client.factory.create('ns0:UserWSO')
print user

print client.service.getProducts()

-----

following is the output

----

suds ( version=0.3.1 )

service ( ScrumWorksService )
   prefixes (1)
      ns0 = "http://api.scrumworks.danube.com/ScrumWorks/types"
   ports (1):
         (ScrumWorksEndpointPort)
            methods (70):
               addBacklogItemsToTheme(ns0:BacklogItemWSO[]
arrayOfBacklogItemWSO_1, ns0:ThemeWSO ThemeWSO_2, )
               createBacklogItem(ns0:BacklogItemWSO BacklogItemWSO_1, )
               createImpediment(ns0:ImpedimentWSO ImpedimentWSO_1,
ns0:ProductWSO ProductWSO_2, )
               createRelease(ns0:ReleaseWSO ReleaseWSO_1,
ns0:ProductWSO ProductWSO_2, )
               createSprint(ns0:SprintWSO SprintWSO_1, )
               createSprintWithNonWorkingDays(ns0:SprintWSO
SprintWSO_1, xs:long[] arrayOfLong_2, )
               createTask(ns0:TaskWSO TaskWSO_1, )
               createTheme(ns0:ThemeWSO ThemeWSO_1, ns0:ProductWSO
ProductWSO_2, )
               deleteBacklogItem(ns0:BacklogItemWSO BacklogItemWSO_1, )
               deleteEmptyRelease(ns0:ReleaseWSO ReleaseWSO_1, )
               deleteEmptySprint(ns0:SprintWSO SprintWSO_1, )
               deleteTask(ns0:TaskWSO TaskWSO_1, )
               deleteTaskEstimate(ns0:TaskWSO TaskWSO_1, xs:dateTime Date_2, )
               deleteTheme(ns0:ThemeWSO ThemeWSO_1, )
               getActiveBacklogItems(ns0:ProductWSO ProductWSO_1, )
               getActiveBacklogItemsForRelease(ns0:ReleaseWSO ReleaseWSO_1, )
               getActiveBacklogItemsForSprint(ns0:SprintWSO SprintWSO_1, )
               getAuthenticatedTest()
               getBacklogItem(xs:long Long_1, )
               getBacklogItemByKey(xs:string String_1, )
               getBacklogItemEstimates(ns0:BacklogItemWSO BacklogItemWSO_1, )
               getBacklogItems(xs:long[] arrayOfLong_1, )
               getBacklogItemsForTheme(ns0:ThemeWSO ThemeWSO_1, )
               getDashboardStatistics(ns0:ProductWSO ProductWSO_1,
xs:dateTime Date_2, xs:dateTime Date_3, )
               getImpediments(ns0:ProductWSO ProductWSO_1, )
               getInactiveBacklogItems(ns0:ProductWSO ProductWSO_1, )
               getPermissions()
               getProducts()
               getReleases(ns0:ProductWSO ProductWSO_1, )
               getSprintNonWorkingDays(xs:long Long_1, )
               getSprints(ns0:ProductWSO ProductWSO_1, )
               getSprintsForTeam(ns0:ProductWSO ProductWSO_1,
ns0:TeamWSO TeamWSO_2, )
               getTaskEstimates(ns0:TaskWSO TaskWSO_1, )
               getTaskHoursSpentForTask(xs:string String_1,
ns0:TaskWSO TaskWSO_2, )
               getTasks(ns0:BacklogItemWSO BacklogItemWSO_1, )
               getTasksForSprint(ns0:SprintWSO SprintWSO_1, )
               getTeam(ns0:SprintWSO SprintWSO_1, )
               getTeamMembers(ns0:TeamWSO TeamWSO_1, )
               getTeams()
               getTeamsForProduct(ns0:ProductWSO ProductWSO_1, )
               getTest()
               getThemes(ns0:ProductWSO ProductWSO_1, )
               getTimezone()
               getTotalTaskHoursSpentForTask(ns0:TaskWSO TaskWSO_1, )
               getUsers()
               getUsersForSprint(ns0:SprintWSO SprintWSO_1, )
               markBacklogItemInactive(ns0:BacklogItemWSO BacklogItemWSO_1, )
               mergeThemes(ns0:ThemeWSO ThemeWSO_1, ns0:ThemeWSO ThemeWSO_2, )
               moveBacklogItemAfter(ns0:BacklogItemWSO
BacklogItemWSO_1, ns0:BacklogItemWSO BacklogItemWSO_2, )
               moveBacklogItemIntoRelease(ns0:BacklogItemWSO
BacklogItemWSO_1, ns0:ReleaseWSO ReleaseWSO_2, )
               moveBacklogItemIntoSprint(ns0:BacklogItemWSO
BacklogItemWSO_1, ns0:SprintWSO SprintWSO_2, )
               moveBacklogItemsAfter(ns0:BacklogItemWSO[]
arrayOfBacklogItemWSO_1, ns0:BacklogItemWSO BacklogItemWSO_2, )
               moveBacklogItemsIntoRelease(ns0:BacklogItemWSO[]
arrayOfBacklogItemWSO_1, ns0:ReleaseWSO ReleaseWSO_2, )
               moveBacklogItemsIntoSprint(ns0:BacklogItemWSO[]
arrayOfBacklogItemWSO_1, ns0:SprintWSO SprintWSO_2, )
               moveReleaseAfter(ns0:ReleaseWSO ReleaseWSO_1,
ns0:ReleaseWSO ReleaseWSO_2, )
               moveReleaseBefore(ns0:ReleaseWSO ReleaseWSO_1,
ns0:ReleaseWSO ReleaseWSO_2, )
               moveTaskAfter(ns0:TaskWSO TaskWSO_1, ns0:TaskWSO TaskWSO_2, )
               moveTaskIntoBacklogItem(ns0:TaskWSO TaskWSO_1,
ns0:BacklogItemWSO BacklogItemWSO_2, )
               moveTasksAfter(ns0:TaskWSO[] arrayOfTaskWSO_1,
ns0:TaskWSO TaskWSO_2, )
               moveTasksIntoBacklogItem(ns0:TaskWSO[]
arrayOfTaskWSO_1, ns0:BacklogItemWSO BacklogItemWSO_2, )
               removeBacklogItemsFromTheme(ns0:BacklogItemWSO[]
arrayOfBacklogItemWSO_1, ns0:ThemeWSO ThemeWSO_2, )
               renameTheme(ns0:ThemeWSO ThemeWSO_1, xs:string String_2, )
               updateBacklogItem(ns0:BacklogItemWSO BacklogItemWSO_1, )
               updateImpediment(ns0:ImpedimentWSO ImpedimentWSO_1, )
               updateRelease(ns0:ReleaseWSO ReleaseWSO_1, )
               updateSprint(ns0:SprintWSO SprintWSO_1, )
               updateSprintWithNonWorkingDays(ns0:SprintWSO
SprintWSO_1, xs:long[] arrayOfLong_2, )
               updateTask(ns0:TaskWSO TaskWSO_1, )
               updateTaskEstimate(ns0:TaskWSO TaskWSO_1, xs:dateTime
Date_2, xs:int int_3, )
               updateTaskHoursSpent(ns0:UserWSO UserWSO_1, ns0:TaskWSO
TaskWSO_2, xs:dateTime Date_3, xs:double double_4, )
   types (297):
      ns0:getAuthenticatedTest
      ns0:getAuthenticatedTestResponse
      ns0:getBacklogItem
      ns0:getBacklogItemResponse
      ns0:getBacklogItemByKey
      ns0:getBacklogItemByKeyResponse
      ns0:getBacklogItemEstimates
      ns0:getBacklogItemEstimatesResponse
      ns0:BacklogItemEstimateWSO
      ns0:getBacklogItems
      ns0:getBacklogItemsResponse
      ns0:getBacklogItemsForTheme
      ns0:PermissionWSO
      ns0:getProducts
      ns0:getProductsResponse
      ns0:getReleases
      ns0:getReleasesResponse
      ns0:getSprintNonWorkingDays
      ns0:getSprintNonWorkingDaysResponse
      ns0:getSprints
      ns0:getSprintsResponse
      ns0:getSprintsForTeam
      ns0:updateSprintResponse
      ns0:updateSprintWithNonWorkingDays
      ns0:updateSprintWithNonWorkingDaysResponse
      ns0:updateTask
      ns0:updateTaskResponse
      ns0:updateTaskEstimate
      ns0:updateTaskEstimateResponse
      ns0:updateTaskHoursSpent
      ns0:updateTaskHoursSpentResponse
      ns0:addBacklogItemsToTheme
      ns0:addBacklogItemsToThemeResponse
      ns0:ServerException
      ns0:getTeams
      ns0:getTeamsResponse
      ns0:getTasksForSprintResponse
      ns0:getTeam
      ns0:getTeamResponse
      ns0:getTeamMembers
      ns0:getTeamMembersResponse
      ns0:UserWSO
      ns0:getTasksResponse
      ns0:getTasksForSprint
      ns0:moveBacklogItemIntoSprintResponse
      ns0:moveBacklogItemsAfter
      ns0:moveBacklogItemsAfterResponse
      ns0:moveBacklogItemsIntoRelease
      ns0:moveBacklogItemsIntoReleaseResponse
      ns0:moveBacklogItemsIntoSprint
      ns0:moveBacklogItemsIntoSprintResponse
      ns0:moveReleaseAfter
      ns0:moveReleaseAfterResponse
      ns0:moveReleaseBefore
      ns0:createBacklogItem
      ns0:createBacklogItemResponse
      ns0:createImpediment
      ns0:createImpedimentResponse
      ns0:createRelease
      ns0:createReleaseResponse
      ns0:createSprint
      ns0:createSprintResponse
      ns0:createSprintWithNonWorkingDays
      ns0:createSprintWithNonWorkingDaysResponse
      ns0:createTask
      ns0:createTaskResponse
      ns0:createTheme
      ns0:createThemeResponse
      ns0:deleteBacklogItem
      ns0:deleteBacklogItemResponse
      ns0:deleteEmptyRelease
      ns0:deleteEmptyReleaseResponse
      ns0:deleteEmptySprint
      ns0:deleteEmptySprintResponse
      ns0:deleteTask
      ns0:deleteTaskResponse
      ns0:deleteTaskEstimate
      ns0:deleteTaskEstimateResponse
      ns0:deleteTheme
      ns0:deleteThemeResponse
      ns0:getActiveBacklogItems
      ns0:getActiveBacklogItemsResponse
      ns0:getActiveBacklogItemsForRelease
      ns0:getActiveBacklogItemsForReleaseResponse
      ns0:getActiveBacklogItemsForSprint
      ns0:getActiveBacklogItemsForSprintResponse
      ns0:getAuthenticatedTest
      ns0:getActiveBacklogItemsResponse
      ns0:deleteThemeResponse
      ns0:getActiveBacklogItems
      ns0:deleteTaskResponse
      ns0:deleteTheme
      ns0:deleteTaskEstimate
      ns0:getActiveBacklogItemsForRelease
      ns0:deleteTaskEstimateResponse
      ns0:getActiveBacklogItemsForSprintResponse
      ns0:getActiveBacklogItemsForReleaseResponse
      ns0:getActiveBacklogItemsForSprint
      ns0:removeBacklogItemsFromTheme
      ns0:removeBacklogItemsFromThemeResponse
      ns0:renameTheme
      ns0:renameThemeResponse
      ns0:updateBacklogItem
      ns0:updateBacklogItemResponse
      ns0:updateImpediment
      ns0:updateImpedimentResponse
      ns0:updateRelease
      ns0:updateReleaseResponse
      ns0:updateSprint
      ns0:getBacklogItemsForThemeResponse
      ns0:getDashboardStatistics
      ns0:getDashboardStatisticsResponse
      ns0:DashboardReleaseStatisticsWSO
      ns0:getImpediments
      ns0:getImpedimentsResponse
      ns0:getInactiveBacklogItems
      ns0:getInactiveBacklogItemsResponse
      ns0:getPermissions
      ns0:getPermissionsResponse
      ns0:getUsersForSprint
      ns0:getUsersForSprintResponse
      ns0:markBacklogItemInactive
      ns0:markBacklogItemInactiveResponse
      ns0:mergeThemes
      ns0:mergeThemesResponse
      ns0:moveBacklogItemAfter
      ns0:moveBacklogItemAfterResponse
      ns0:moveBacklogItemIntoRelease
      ns0:moveBacklogItemIntoReleaseResponse
      ns0:moveBacklogItemIntoSprint
      ns0:getAuthenticatedTestResponse
      ns0:getBacklogItem
      ns0:getBacklogItemResponse
      ns0:getBacklogItemByKey
      ns0:getBacklogItemByKeyResponse
      ns0:getBacklogItemEstimates
      ns0:getBacklogItemEstimatesResponse
      ns0:getBacklogItems
      ns0:getBacklogItemsResponse
      ns0:getBacklogItemsForTheme
      ns0:getBacklogItemsForThemeResponse
      ns0:getDashboardStatistics
      ns0:getDashboardStatisticsResponse
      ns0:getImpediments
      ns0:getImpedimentsResponse
      ns0:getInactiveBacklogItems
      ns0:getInactiveBacklogItemsResponse
      ns0:getPermissions
      ns0:getPermissionsResponse
      ns0:getProducts
      ns0:getProductsResponse
      ns0:getReleases
      ns0:getReleasesResponse
      ns0:getSprintNonWorkingDays
      ns0:getSprintNonWorkingDaysResponse
      ns0:getSprints
      ns0:getSprintsResponse
      ns0:getSprintsForTeam
      ns0:getSprintsForTeamResponse
      ns0:getTaskEstimates
      ns0:getTaskEstimatesResponse
      ns0:getTaskHoursSpentForTask
      ns0:getTaskHoursSpentForTaskResponse
      ns0:getTasks
      ns0:getTaskHoursSpentForTaskResponse
      ns0:getTaskEstimates
      ns0:getTasks
      ns0:getTaskEstimatesResponse
      ns0:TaskEstimateWSO
      ns0:getTaskHoursSpentForTask
      ns0:TeamWSO
      ns0:getSprintsForTeamResponse
      ns0:TaskHoursSpentWSO
      ns0:moveReleaseBeforeResponse
      ns0:moveTaskAfter
      ns0:moveTaskAfterResponse
      ns0:moveTaskIntoBacklogItem
      ns0:moveTaskIntoBacklogItemResponse
      ns0:moveTasksAfter
      ns0:moveTasksAfterResponse
      ns0:moveTasksIntoBacklogItem
      ns0:moveTasksIntoBacklogItemResponse
      ns0:getTeamsForProduct
      ns0:getTeamsForProductResponse
      ns0:getTest
      ns0:getTestResponse
      ns0:getThemes
      ns0:getThemesResponse
      ns0:getTimezone
      ns0:getTimezoneResponse
      ns0:getTotalTaskHoursSpentForTask
      ns0:getTotalTaskHoursSpentForTaskResponse
      ns0:getUsers
      ns0:getUsersResponse
      ns0:getTasksResponse
      ns0:getTasksForSprint
      ns0:getTasksForSprintResponse
      ns0:getTeam
      ns0:getTeamResponse
      ns0:getTeamMembers
      ns0:getTeamMembersResponse
      ns0:getTeams
      ns0:getTeamsResponse
      ns0:getTeamsForProduct
      ns0:getTeamsForProductResponse
      ns0:getTest
      ns0:getTestResponse
      ns0:getThemes
      ns0:getThemesResponse
      ns0:getTimezone
      ns0:getTimezoneResponse
      ns0:getTotalTaskHoursSpentForTask
      ns0:getTotalTaskHoursSpentForTaskResponse
      ns0:getUsers
      ns0:getUsersResponse
      ns0:getUsersForSprint
      ns0:getUsersForSprintResponse
      ns0:markBacklogItemInactive
      ns0:markBacklogItemInactiveResponse
      ns0:mergeThemes
      ns0:mergeThemesResponse
      ns0:moveBacklogItemAfter
      ns0:moveBacklogItemAfterResponse
      ns0:moveBacklogItemIntoRelease
      ns0:moveBacklogItemIntoReleaseResponse
      ns0:moveBacklogItemIntoSprint
      ns0:moveBacklogItemIntoSprintResponse
      ns0:moveBacklogItemsAfter
      ns0:moveBacklogItemsAfterResponse
      ns0:moveBacklogItemsIntoRelease
      ns0:moveBacklogItemsIntoReleaseResponse
      ns0:moveBacklogItemsIntoSprint
      ns0:moveBacklogItemsIntoSprintResponse
      ns0:moveReleaseAfter
      ns0:moveReleaseAfterResponse
      ns0:moveReleaseBefore
      ns0:moveReleaseBeforeResponse
      ns0:moveTaskAfter
      ns0:moveTaskAfterResponse
      ns0:moveTaskIntoBacklogItem
      ns0:moveTaskIntoBacklogItemResponse
      ns0:moveTasksAfter
      ns0:moveTasksAfterResponse
      ns0:moveTasksIntoBacklogItem
      ns0:moveTasksIntoBacklogItemResponse
      ns0:removeBacklogItemsFromTheme
      ns0:removeBacklogItemsFromThemeResponse
      ns0:renameTheme
      ns0:renameThemeResponse
      ns0:updateBacklogItem
      ns0:updateBacklogItemResponse
      ns0:updateImpediment
      ns0:updateImpedimentResponse
      ns0:updateRelease
      ns0:updateReleaseResponse
      ns0:updateSprint
      ns0:updateSprintResponse
      ns0:updateSprintWithNonWorkingDays
      ns0:updateSprintWithNonWorkingDaysResponse
      ns0:updateTask
      ns0:updateTaskResponse
      ns0:updateTaskEstimate
      ns0:updateTaskHoursSpent
      ns0:updateTaskEstimateResponse
      ns0:updateTaskHoursSpentResponse
      ns0:addBacklogItemsToTheme
      ns0:BacklogItemWSO
      ns0:BusinessWeightWSO
      ns0:ThemeWSO
      ns0:addBacklogItemsToThemeResponse
      ns0:ServerException
      ns0:createBacklogItem
      ns0:createBacklogItemResponse
      ns0:createImpediment
      ns0:ImpedimentWSO
      ns0:ProductWSO
      ns0:createImpedimentResponse
      ns0:createRelease
      ns0:ReleaseWSO
      ns0:createTaskResponse
      ns0:createTheme
      ns0:createThemeResponse
      ns0:deleteBacklogItem
      ns0:deleteBacklogItemResponse
      ns0:deleteEmptyRelease
      ns0:deleteEmptyReleaseResponse
      ns0:deleteEmptySprint
      ns0:deleteEmptySprintResponse
      ns0:deleteTask
      ns0:SprintWSO
      ns0:createTask
      ns0:createSprintWithNonWorkingDaysResponse
      ns0:TaskWSO
      ns0:createReleaseResponse
      ns0:createSprint
      ns0:createSprintWithNonWorkingDays
      ns0:createSprintResponse

(UserWSO){
   displayName = None
   id = None
   name = None
   userName = None
 }


Traceback (most recent call last):
  File "<string>", line 231, in run_nodebug
  File "C:\src\sw\sw.py", line 18, in <module>
    print client.service.getTest()
  File "C:\python\python25\lib\site-packages\python_suds-0.3.1-py2.5.egg\suds\client.py",
line 283, in __call__
  File "C:\python\python25\lib\site-packages\python_suds-0.3.1-py2.5.egg\suds\client.py",
line 398, in invoke
  File "C:\python\python25\lib\site-packages\python_suds-0.3.1-py2.5.egg\suds\client.py",
line 435, in send
  File "C:\python\python25\lib\site-packages\python_suds-0.3.1-py2.5.egg\suds\client.py",
line 518, in failed
Exception: (401, 'Unauthorized')




More information about the fedora-suds-list mailing list