For about four years we have been running a script to keep our Crowd groups memberships and user attributes in sync with our LDAP directory. We discovered after upgrading Crowd on our dev and test apps that our script no longer works. We have narrowed the problem down to (at a minimum) the inability to authenticate. Here are two Python examples that illustrate the behavior.
Using Crowd 2.7.0:
ActivePython 2.6.5.14 (ActiveState Software Inc.) based on Python 2.6.5 (r265:79063, Jul 4 2010, 21:05:58) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import suds.client >>> url_wsdl_prd_fixed = "file:///D:/dryan/SE/SS/Crowd/2.7.1/crowd_ssi-crowd-prd_2.7.0_fixed.wsdl.xml" >>> c = suds.client.Client(url_wsdl_prd_fixed) >>> auth_context = c.factory.create("ns1:ApplicationAuthenticationContext") >>> auth_context.name = "ssp-sso-apps-prd" >>> auth_context.credential.credential = "<password>" >>> token = c.service.authenticateApplication(auth_context) >>> token (AuthenticatedToken){ name = "ssp-sso-apps-prd" token = "BQw0rYa0zhf0j0ttVOnyWA00" }
Using Crowd 2.7.1:
ActivePython 2.6.5.14 (ActiveState Software Inc.) based on Python 2.6.5 (r265:79063, Jul 4 2010, 21:05:58) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import suds.client >>> url_wsdl_tst_fixed = "file:///D:/dryan/SE/SS/Crowd/2.7.1/crowd_ssi-crowd-tst_2.7.0_fixed.wsdl.xml" >>> c = suds.client.Client(url_wsdl_tst_fixed) >>> auth_context = c.factory.create("ns1:ApplicationAuthenticationContext") >>> auth_context.name = "ssp-sso-apps-tst" >>> auth_context.credential.credential = "<password>" >>> token = c.service.authenticateApplication(auth_context) No handlers could be found for logger "suds.client" Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Applications\Python26\lib\site-packages\suds-0.3.9-py2.6.egg\suds\client.py", line 539, in __call__ return client.invoke(args, kwargs) File "C:\Applications\Python26\lib\site-packages\suds-0.3.9-py2.6.egg\suds\client.py", line 598, in invoke result = self.send(msg) File "C:\Applications\Python26\lib\site-packages\suds-0.3.9-py2.6.egg\suds\client.py", line 633, in send result = self.failed(binding, e) File "C:\Applications\Python26\lib\site-packages\suds-0.3.9-py2.6.egg\suds\client.py", line 684, in failed r, p = binding.get_fault(reply) File "C:\Applications\Python26\lib\site-packages\suds-0.3.9-py2.6.egg\suds\bindings\binding.py", line 238, in get_fault raise WebFault(p, faultroot) suds.WebFault: Server raised fault: 'Couldn't set property {http://authentication.integration.crowd.atlassian.com}credential on com.atlassian.crowd.integration.authentication.Appli cationAuthenticationContext@2cf8aa09[name=<null>,credential=<null>,validationFactors=<null>]. null'
We tried taking a fresh 2.7.1 WSDL from http://ssi-crowd-tst.ptcnet.ptc.com:8095/crowd/services/SecurityServer?wsdl and applying the fixes referenced in https://jira.atlassian.com/browse/CWD-159 but no luck.
Before we invest in a development effort to use Crowd's newer REST API instead of the SOAP API, we wanted to see if either this a truly a bug in the new Crowd version or whether there is some change we could make on our side to get our script to work.
Thanks,
SSI Team
- is duplicated by
-
CWD-3842 Method "authenticateApplication" no longer works in 2.7.1
- Closed
-
CWD-159 WSDL doesn't import exception namespaces
- Closed
- Testing discovered
-
CWD-3839 Improve SOAP API debug error logging
- Closed
- causes
-
CWDAPACHE-56 Loading...
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...