Uploaded image for project: 'Directory Client API'
  1. Directory Client API
  2. DIRAPI-300

Weird batchResponse when batchRequest contains grammar error

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0
    • Fix Version/s: 2.0.0.AM3, 1.0.4
    • Labels:
      None

      Description

      I am using the apacheDS API (org.apache.directory.api:api-all:1.0.0) to forward the DSML messages I received in my app to my local LDAP directory (apacheDS).
      When I forward such a message (I guess it is an errorneous message because the newrdn attribute is not formatted as a DN):

      <batchRequest xmlns="urn:oasis:names:tc:DSML:2:0:core">  
        <modDNRequest deleteoldrdn="false" dn="uid=test,ou=HCProfessional,dc=HPD,o=gazelle,c=CH" newrdn="teststststst" requestID="3186"/> 
      </batchRequest>
      

      The Dsmlv2Engine.process(OutputStream, OutputStream) method logs

      [0m[33m16:25:30,236 WARN  [org.apache.directory.api.dsmlv2.engine.Dsmlv2Engine] (http-/0.0.0.0:8380-2) Failed while getting next request: org.xmlpull.v1.XmlPullParserException: ERR_04201 No more characters available at position 12 (position: START_TAG seen ...al,dc=HPD,o=gazelle,c=CH" newrdn="teststststst" requestID="3186"/>... @3:134) caused by: org.apache.directory.api.ldap.model.exception.LdapInvalidDnException: ERR_04201 No more characters available at position 12
      

      and the received batchResponse is

      <batchResponse xmlns="urn:oasis:names:tc:DSML:2:0:core" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" requestID="0"><?xml version="1.0" encoding="UTF-8"?>
          <batchResponse xmlns="urn:oasis:names:tc:DSML:2:0:core" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              <errorResponse xmlns="" type="malformedRequest">
                  <message>ERR_03001 ERR_04201 No more characters available at position 12 (position: START_TAG seen ...al,dc=HPD,o=gazelle,c=CH"
                      newrdn="teststststst" requestID="3186"/&gt;... @3:134) caused by:
                      org.apache.directory.api.ldap.model.exception.LdapInvalidDnException: ERR_04201 No more characters available at position 12 - Line 3 -
                      Column 134
                  </message>
              </errorResponse>
          </batchResponse>
      

      Which cannot be parsed using an XML parser since first batchResponse declaration is present prior to the actual batchResponse message.

      Note that when the engine does not include errorResponse in the batchResponse, the returned message is correct.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              abe_kereval Anne-Gaƫlle BERGE
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: