Details
-
Bug
-
Resolution: Invalid
-
Low
-
None
-
None
-
None
Description
This can only happen if you have JIRA or Crowd as an External User Directory connected to your Stash and they are as well connected to an LDAP server.
2014-03-17 09:57:13,950 ERROR [scheduler_Worker-4] c.a.c.d.DbCachingDirectoryPoller Error occurred while refreshing the cache for directory [ 32770 ]. javax.xml.bind.DataBindingException: javax.xml.bind.UnmarshalException - with linked exception: [org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1082; An invalid XML character (Unicode: 0x1) was found in the element content of the document.] ... ... Caused by: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x1) was found in the element content of the document. ... ...
It could also happen during authentication time:
2013-12-07 22:41:53,581 ERROR [qtp16566588-196 ] fisheye DefaultUserManager-getOrImportUser - Could not authenticate user "jira.test" com.cenqua.fisheye.user.AuthenticationException: Problem communicating with Crowd at com.cenqua.fisheye.user.crowd.CrowdAuth.authenticate(CrowdAuth.java:261) at com.cenqua.fisheye.user.DefaultUserManager.getOrImportUser(DefaultUserManager.java:611) at com.cenqua.fisheye.user.DefaultUserManager.loginWithSanitizedUserName(DefaultUserManager.java:428) at com.cenqua.fisheye.user.DefaultUserManager.login(DefaultUserManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196) at com.sun.proxy.$Proxy44.login(Unknown Source) at com.cenqua.fisheye.web.LoginServlet.login(LoginServlet.java:115) at com.cenqua.fisheye.web.LoginServlet.doLogin(LoginServlet.java:74) at com.cenqua.fisheye.web.LoginServlet.doGet(LoginServlet.java:60) [....] - with linked exception: [org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 460; An invalid XML character (Unicode: 0xe) was found in the element content of the document.] at javax.xml.bind.JAXB.unmarshal(JAXB.java:226) at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:349) at com.atlassian.crowd.integration.rest.service.RestCrowdClient.authenticateUser(RestCrowdClient.java:115) at com.cenqua.fisheye.user.crowd.CrowdAuth$3.call(CrowdAuth.java:235) at com.cenqua.fisheye.user.crowd.CrowdAuth$3.call(CrowdAuth.java:225)
The invalid XML appears to be:
<key>10100:[0xe][0x6]c[0xef][0xbf][0xbd]&IYK[0xef][0xbf][0xbd]Fn[0xef][0xbf][0xbd][0xef][0xbf][0xbd]e[0xef][0xbf][0xbd][0xef][0xbf][0xbd]</key>
This element, when using local user storage in JIRA, is:
<key>1:acd45554-6bef-4231-9ec5-ebdcbb299a43</key>
Possible workaround: if you are in this situation you could bypass Crowd or JIRA and add the LDAP directly as your User Directory.
Attachments
Issue Links
- is caused by
-
JRASERVER-36220 JIRA Connecting to Open LDAP which proxies to Active Directory Returns Invalid XML Document When an Embedded Crowd Auth Request Is Made
- Closed
- is cloned from
-
CWD-3748 Crowd does not check if the LDAP externalId attribute value can be represented in XML
- Closed