You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Anne-Gaëlle BERGE (JIRA)" <ji...@apache.org> on 2017/08/25 14:43:00 UTC

[jira] [Created] (DIRAPI-300) Weird batchResponse when batchRequest contains grammar error

Anne-Gaëlle BERGE created DIRAPI-300:
----------------------------------------

             Summary: Weird batchResponse when batchRequest contains grammar error
                 Key: DIRAPI-300
                 URL: https://issues.apache.org/jira/browse/DIRAPI-300
             Project: Directory Client API
          Issue Type: Bug
    Affects Versions: 1.0.0-RC3
            Reporter: Anne-Gaëlle BERGE


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.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)