You are viewing a plain text version of this content. The canonical link for it is here.
Posted to api@directory.apache.org by Malo Toudic <ma...@kereval.com> on 2019/11/29 10:16:46 UTC

ERR_03039 : the given requestID is not an integer

Hi all,

Is there any reason why the requestID need to be an integer in a 
batchRequest ? When using a string the following error is returned :

"ERR_03039 the given requestID is not an integer"

I'm using org.apache.directory.api:api-all:1.0.0 from Maven. I also 
verified the source code of the last version of api-all and the method 
verifying the requestID format is the same.

In the DSMLv2 schema 
(https://www.oasis-open.org/committees/dsml/docs/DSMLv2.xsd) the 
requestID is of type xsd:string :

<xsd:simpleType name="RequestID">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>

I don't see anywhere in the DSMLv2 specification a constraint that 
stipulate the requestID must be an integer.

Regards,

Malo Toudic

---------------------------------------------------------------------
To unsubscribe, e-mail: api-unsubscribe@directory.apache.org
For additional commands, e-mail: api-help@directory.apache.org


Re: ERR_03039 : the given requestID is not an integer

Posted by Emmanuel Lécharny <el...@gmail.com>.
Hi Malo

On 29/11/2019 11:16, Malo Toudic wrote:
> Hi all,
>
> Is there any reason why the requestID need to be an integer in a 
> batchRequest ? When using a string the following error is returned :
>
> "ERR_03039 the given requestID is not an integer"


The requestID has to be an integer, but inside a string, like "12345".

The error you're getting is due to some bad string, like "12AGH", for 
instance.


The code that produces this error :

     /**
      * Parses and verify the parsed value of the requestID
      *
      * @param attributeValue the value of the attribute
      * @param xpp the XmlPullParser
      * @return the int value of the resquestID
      * @throws XmlPullParserException if RequestID isn't an Integer and 
if requestID is below 0
      */
     public static int parseAndVerifyRequestID( String attributeValue, 
XmlPullParser xpp ) throws XmlPullParserException
     {
         try
         {
             int requestID = Integer.parseInt( attributeValue );

             if ( requestID < 0 )
             {
                 throw new XmlPullParserException( I18n.err( 
I18n.ERR_03038, requestID ), xpp, null );
             }

             return requestID;
         }
         catch ( NumberFormatException nfe )
         {
             throw new XmlPullParserException( I18n.err( I18n.ERR_03039 
), xpp, nfe );
         }
     }

As you can see, we expect a string containing an integer.

You have to check the content of your DSML request.



> I'm using org.apache.directory.api:api-all:1.0.0 from Maven. I also 
> verified the source code of the last version of api-all and the method 
> verifying the requestID format is the same.


FTR, the 1.0.3 version is out since april, and it contains many fixes 
since 1.0.0, which is 2 years old already...



---------------------------------------------------------------------
To unsubscribe, e-mail: api-unsubscribe@directory.apache.org
For additional commands, e-mail: api-help@directory.apache.org