--f46d0418267c27ff7e04ce03386a
Content-Type: text/plain; charset=UTF-8
Hi Matthew,
check out SchemaOps.loadStaticOIDs (below). There really is no short
cut here because each syntax is slightly different.. however if all you
want to do is figure out which syntaxes *aren't* 'normal strings', it's
probably easier just to exclude the string oids.
Making things more complex, there is actually a specific 'binary'
syntax (intended I believe for unstructured binary data), however I think
what you mean is 'non string', which includes things like ASN.1 encodings
of certificates and CRLs, and some image formats.
Anyway; there's a method in DXAttribute called 'isStringSyntax()' which
might do what you want; it's a bit of a hacky method that tries to figure
out if an attribute syntax is "stringy enough" to bother trying to display
it in a UI :-).
- Chris
protected void loadStaticOIDs()
{
// a quick pick of common syntaxes for Active Directory support
// (and other servers that don't publish syntax descriptions)
// taken from rfc 2252
oids.put("1.3.6.1.4.1.1466.115.121.1.1", "ACI Item");
oids.put("1.3.6.1.4.1.1466.115.121.1.2", "Access Point");
oids.put("1.3.6.1.4.1.1466.115.121.1.3", "Attribute Type
Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.4", "Audio");
oids.put("1.3.6.1.4.1.1466.115.121.1.5", "Binary");
oids.put("1.3.6.1.4.1.1466.115.121.1.6", "Bit String");
oids.put("1.3.6.1.4.1.1466.115.121.1.7", "Boolean");
oids.put("1.3.6.1.4.1.1466.115.121.1.8", "Certificate");
oids.put("1.3.6.1.4.1.1466.115.121.1.9", "Certificate List");
oids.put("1.3.6.1.4.1.1466.115.121.1.10", "Certificate Pair");
oids.put("1.3.6.1.4.1.1466.115.121.1.11", "Country String");
oids.put("1.3.6.1.4.1.1466.115.121.1.12", "DN");
oids.put("1.3.6.1.4.1.1466.115.121.1.13", "Data Quality Syntax");
oids.put("1.3.6.1.4.1.1466.115.121.1.14", "Delivery Method");
oids.put("1.3.6.1.4.1.1466.115.121.1.15", "Directory String");
oids.put("1.3.6.1.4.1.1466.115.121.1.16", "DIT Content Rule
Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.17", "DIT Structure Rule
Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.18", "DL Submit Permission");
oids.put("1.3.6.1.4.1.1466.115.121.1.19", "DSA Quality Syntax");
oids.put("1.3.6.1.4.1.1466.115.121.1.20", "DSE Type");
oids.put("1.3.6.1.4.1.1466.115.121.1.21", "Enhanced Guide");
oids.put("1.3.6.1.4.1.1466.115.121.1.22", "Facsimile Telephone
Number");
oids.put("1.3.6.1.4.1.1466.115.121.1.23", "Fax");
oids.put("1.3.6.1.4.1.1466.115.121.1.24", "Generalized Time");
oids.put("1.3.6.1.4.1.1466.115.121.1.25", "Guide");
oids.put("1.3.6.1.4.1.1466.115.121.1.26", "IA5 String");
oids.put("1.3.6.1.4.1.1466.115.121.1.27", "INTEGER");
oids.put("1.3.6.1.4.1.1466.115.121.1.28", "JPEG");
oids.put("1.3.6.1.4.1.1466.115.121.1.54", "LDAP Syntax
Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.56", "LDAP Schema Definition");
oids.put("1.3.6.1.4.1.1466.115.121.1.57", "LDAP Schema
Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.29", "Master And Shadow Access
Points");
oids.put("1.3.6.1.4.1.1466.115.121.1.30", "Matching Rule
Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.31", "Matching Rule Use
Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.32", "Mail Preference");
oids.put("1.3.6.1.4.1.1466.115.121.1.33", "MHS OR Address");
oids.put("1.3.6.1.4.1.1466.115.121.1.55", "Modify Rights");
oids.put("1.3.6.1.4.1.1466.115.121.1.34", "Name And Optional UID");
oids.put("1.3.6.1.4.1.1466.115.121.1.35", "Name Form Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.36", "Numeric String");
oids.put("1.3.6.1.4.1.1466.115.121.1.37", "Object Class
Description");
oids.put("1.3.6.1.4.1.1466.115.121.1.40", "Octet String");
oids.put("1.3.6.1.4.1.1466.115.121.1.38", "OID");
oids.put("1.3.6.1.4.1.1466.115.121.1.39", "Other Mailbox");
oids.put("1.3.6.1.4.1.1466.115.121.1.41", "Postal Address");
oids.put("1.3.6.1.4.1.1466.115.121.1.42", "Protocol Information");
oids.put("1.3.6.1.4.1.1466.115.121.1.43", "Presentation Address");
oids.put("1.3.6.1.4.1.1466.115.121.1.44", "Printable String");
oids.put("1.3.6.1.4.1.1466.115.121.1.58", "Substring Assertion");
oids.put("1.3.6.1.4.1.1466.115.121.1.45", "Subtree Specification");
oids.put("1.3.6.1.4.1.1466.115.121.1.46", "Supplier Information");
oids.put("1.3.6.1.4.1.1466.115.121.1.47", "Supplier Or Consumer");
oids.put("1.3.6.1.4.1.1466.115.121.1.48", "Supplier And Consumer");
oids.put("1.3.6.1.4.1.1466.115.121.1.49", "Supported Algorithm");
oids.put("1.3.6.1.4.1.1466.115.121.1.50", "Telephone Number");
oids.put("1.3.6.1.4.1.1466.115.121.1.51", "Teletex Terminal
Identifier");
oids.put("1.3.6.1.4.1.1466.115.121.1.52", "Telex Number");
oids.put("1.3.6.1.4.1.1466.115.121.1.53", "UTC Time");
}
Chris,
I was working with going through the schema and getting the binary
attributes by looking up their syntax ID # and see if it is Binary or
not. The issue im running into for example userCertificate and
certificateRevocationList have different Syntax, and i would need to
hardcode ALL the ids, hopefully getting them all based on the
documentation of the Oracle Attributes.
In your DXAttribute class your get() method tacks on a ";binary" to the
name.
Anyway, i got my list of MUST and MAY attributes, and it is all
ordered nicely. Just wanted to make sure hardcoding the IDs is the
ONLY way to go. Also, why do they make it so difficult? You did say
it is a black art lol.
Thanks!
-Matthew
Post by unknownHi Matthew,
the attribute OID is unique to the actual attribute type, whereas the
Syntax is the structure of the data; e.g. 'jpegPhoto' is a type of data,
but
Post by unknownyou might have attributes 'userThumbnail', 'staffPhoto' or even
'jpegPhoto'(as an attribute). It's a bit confusing that the attribute
name
Post by unknownand the syntax name are so similar!
If you're looking for some code to get you started, try
com.ca.commons.jndi.SchemaOps - you intialise a SchemaOps object with a
jndi
Post by unknowncontext and you should be able to read out a whole lot of schema info.
Have a look at the expandAllAttributes() method in
(schema is a schemaOps object)
Attributes ocAttrs > schema.getAttributes("ClassDefinition/"
+ objectClass);
Attribute mustAtt = ocAttrs.get("MUST"); // get
mandatory
Post by unknownattribute IDs
Attribute mayAtt = ocAttrs.get("MAY"); // get optional
attribute IDs
cheers,
- Chris
P.S. you should note that reading schema in general is a bit of a black
art;
Post by unknownif you're using a 'normal' directory you should be able to read it off
from
Post by unknownthe 'subschema subentry', but some directories with an X.500 heritage can
actually have different schemas in different sub-trees!
Chris,
I would like to do the full schema and cache it as well, but for now a
particular entry would be good.
In oracle my dn would be cn=matthew.abbott,cn=users,dc=rampod,dc=net
I have a DirContext object and was looking in JX for some examples of
how you were listing all the attributes.
I know there is a MUST/MAY etc with attributes and such too.
So, two things..
1. if i pass in my DN to my user account, id like to get a list of
all the attributes by looking at the schema for that entry.
2. yes about your non-string attributes. I can look at the syntax
Strings you are right.
(
http://docs.oracle.com/cd/B28196_01/idmanage.1014/b15998/schema_overview.htm
)
Post by unknownQuestion..
Syntax says 1.3.6.1.4.1.1466.115.121.1.28 for jpegPhoto, but it says
on the Attribute page the Attribute OID is 0.9.2342.19200300.100.1.60
What is the difference here?
1.3.6.1.4.1.1466.115.121.1.5 is binary, but there are other binary
syntax like jpegPhoto.
-Matthew
Post by unknownHi Matthew,
just to clarify, you're basically trying to download the full
schema?
Or just the schema a particular entry?
If the latter, it's a multi-step process; read the entries object
classes, and then look each of those up in turn.
In general, finding 'non-string' attributes is a bit tricky, but
not
Post by unknownPost by unknownstep 1: find object classes
step 2: find all attributes (by looking up the schema)
step 3: look up each attribute syntax (by looking up the schema)
step 4: compare this syntax with the 'standard' string syntaxes
(you
Post by unknownPost by unknowncan
hard code these, they don't usually change); if it isn't one of those
it's
'non-string'!
When you look at JX code it can be a little confusing, as we try to
cache
a lot of this stuff so that we're not always interrogating the schema
(that's the reason for the slow initial connection; JX slurps down the
schema when we first connect).
Anyway, let me know if this is the sort of thing you're trying to
do
Post by unknownPost by unknownand
I'll chase down the exact code in JX
- Chris
Chris,
)
Post by unknownPost by unknownbut I decided to send from my gmail account.
Im back to working with the Oracle LDAP schema.
I still have not been able to point it to a DN and get ALL the
attributes available. Everything I try is getting the attributes
that
Post by unknownPost by unknownhave a value assigned to them.
Also, I wondered if there was a way to go out and list the attributes
that are binary.
http://docs.oracle.com/javase/jndi/tutorial/ldap/misc/attrs.html
If you scroll down it lists the binary attributes and it says there
is
Post by unknownPost by unknownnot a programmatic way to determine if the syntax is nonstring. It
says The LDAP service provider has a built-in list of attribute
names.
Post by unknownPost by unknownHow does one get to this list using Java?
I was looking at your SchemaOps java code, but haven't been
successful
Post by unknownPost by unknownyet.
Also, as a side note..in the SchemaOps.java the comments for
getSpecificName() and getTypeName() are the same. Is this correct?
Any help is appreciated, and I appreciate your past help greatly!!
-Matthew
--
Dr Christopher Betts
Pegacat Software
Melbourne, Australia
m: 0408 533 456
--
Dr Christopher Betts
Pegacat Software
Melbourne, Australia
m: 0408 533 456
--
Dr Christopher Betts
Pegacat Software
Melbourne, Australia
m: 0408 533 456
--f46d0418267c27ff7e04ce03386a
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Hi Matthew,<br><br> check out SchemaOps.loadStaticOIDs (below). There really is no short cut here because each syntax is slightly different.. however if all you want to do is figure out which syntaxes *aren't* 'normal strings', it's probably easier just to exclude the string oids.<br>
<br> Making things more complex, there is actually a specific 'binary' syntax (intended I believe for unstructured binary data), however I think what you mean is 'non string', which includes things like ASN.1 encodings of certificates and CRLs, and some image formats.<br>
<br> Anyway; there's a method in DXAttribute called 'isStringSyntax()' which might do what you want; it's a bit of a hacky method that tries to figure out if an attribute syntax is "stringy enough" to bother trying to display it in a UI :-).<br>
<br> - Chris<br><br><br>protected void loadStaticOIDs()<br> {<br> // a quick pick of common syntaxes for Active Directory support<br> // (and other servers that don't publish syntax descriptions)<br>
// taken from rfc 2252<br><br> oids.put("1.3.6.1.4.1.1466.115.121.1.1", "ACI Item");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.2", "Access Point");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.3", "Attribute Type Description");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.4", "Audio");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.5", "Binary");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.6", "Bit String");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.7", "Boolean");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.8", "Certificate");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.9", "Certificate List");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.10", "Certificate Pair");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.11", "Country String");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.12", "DN");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.13", "Data Quality Syntax");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.14", "Delivery Method");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.15", "Directory String");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.16", "DIT Content Rule Description");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.17", "DIT Structure Rule Description");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.18", "DL Submit Permission");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.19", "DSA Quality Syntax");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.20", "DSE Type");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.21", "Enhanced Guide");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.22", "Facsimile Telephone Number");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.23", "Fax");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.24", "Generalized Time");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.25", "Guide");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.26", "IA5 String");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.27", "INTEGER");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.28", "JPEG");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.54", "LDAP Syntax Description");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.56", "LDAP Schema Definition");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.57", "LDAP Schema Description");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.29", "Master And Shadow Access Points");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.30", "Matching Rule Description");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.31", "Matching Rule Use Description");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.32", "Mail Preference");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.33", "MHS OR Address");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.55", "Modify Rights");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.34", "Name And Optional UID");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.35", "Name Form Description");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.36", "Numeric String");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.37", "Object Class Description");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.40", "Octet String");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.38", "OID");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.39", "Other Mailbox");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.41", "Postal Address");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.42", "Protocol Information");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.43", "Presentation Address");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.44", "Printable String");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.58", "Substring Assertion");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.45", "Subtree Specification");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.46", "Supplier Information");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.47", "Supplier Or Consumer");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.48", "Supplier And Consumer");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.49", "Supported Algorithm");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.50", "Telephone Number");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.51", "Teletex Terminal Identifier");<br> oids.put("1.3.6.1.4.1.1466.115.121.1.52", "Telex Number");<br>
oids.put("1.3.6.1.4.1.1466.115.121.1.53", "UTC Time");<br> }<br><br><br><br><br><div class="gmail_quote">On 9 November 2012 08:36, Matthew Abbott <span dir="ltr"><<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Chris,<br>
<br>
I was working with going through the schema and getting the binary<br>
attributes by looking up their syntax ID # and see if it is Binary or<br>
not. The issue im running into for example userCertificate and<br>
certificateRevocationList have different Syntax, and i would need to<br>
hardcode ALL the ids, hopefully getting them all based on the<br>
documentation of the Oracle Attributes.<br>
<br>
In your DXAttribute class your get() method tacks on a ";binary" to the name.<br>
<br>
Anyway, i got my list of MUST and MAY attributes, and it is all<br>
ordered nicely. Just wanted to make sure hardcoding the IDs is the<br>
ONLY way to go. Also, why do they make it so difficult? You did say<br>
it is a black art lol.<br>
<br>
Thanks!<br>
<span class="HOEnZb"><font color="#888888"><br>
-Matthew<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Wed, Nov 7, 2012 at 3:26 PM, Chris Betts <<a href="mailto:***@gmail.com">***@gmail.com</a>> wrote:<br>
> Hi Matthew,<br>
><br>
> the attribute OID is unique to the actual attribute type, whereas the<br>
> Syntax is the structure of the data; e.g. 'jpegPhoto' is a type of data, but<br>
> you might have attributes 'userThumbnail', 'staffPhoto' or even<br>
> 'jpegPhoto'(as an attribute). It's a bit confusing that the attribute name<br>
> and the syntax name are so similar!<br>
><br>
> If you're looking for some code to get you started, try<br>
> com.ca.commons.jndi.SchemaOps - you intialise a SchemaOps object with a jndi<br>
> context and you should be able to read out a whole lot of schema info.<br>
><br>
> Have a look at the expandAllAttributes() method in<br>
> com.ca.commons.naming.DXAttributes for example usage:<br>
><br>
> (schema is a schemaOps object)<br>
><br>
> Attributes ocAttrs = schema.getAttributes("ClassDefinition/"<br>
> + objectClass);<br>
> Attribute mustAtt = ocAttrs.get("MUST"); // get mandatory<br>
> attribute IDs<br>
> Attribute mayAtt = ocAttrs.get("MAY"); // get optional<br>
> attribute IDs<br>
><br>
> cheers,<br>
><br>
> - Chris<br>
><br>
> P.S. you should note that reading schema in general is a bit of a black art;<br>
> if you're using a 'normal' directory you should be able to read it off from<br>
> the 'subschema subentry', but some directories with an X.500 heritage can<br>
> actually have different schemas in different sub-trees!<br>
><br>
><br>
><br>
><br>
> On 8 November 2012 06:57, Matthew Abbott <<a href="mailto:***@gmail.com">***@gmail.com</a>> wrote:<br>
>><br>
>> Chris,<br>
>><br>
>> I would like to do the full schema and cache it as well, but for now a<br>
>> particular entry would be good.<br>
>> In oracle my dn would be cn=matthew.abbott,cn=users,dc=rampod,dc=net<br>
>><br>
>> I have a DirContext object and was looking in JX for some examples of<br>
>> how you were listing all the attributes.<br>
>><br>
>> I know there is a MUST/MAY etc with attributes and such too.<br>
>><br>
>> So, two things..<br>
>> 1. if i pass in my DN to my user account, id like to get a list of<br>
>> all the attributes by looking at the schema for that entry.<br>
>> 2. yes about your non-string attributes. I can look at the syntax<br>
>> Strings you are right.<br>
>><br>
>> (<a href="http://docs.oracle.com/cd/B28196_01/idmanage.1014/b15998/schema_overview.htm" target="_blank">http://docs.oracle.com/cd/B28196_01/idmanage.1014/b15998/schema_overview.htm</a>)<br>
>><br>
>> Question..<br>
>> Syntax says 1.3.6.1.4.1.1466.115.121.1.28 for jpegPhoto, but it says<br>
>> on the Attribute page the Attribute OID is 0.9.2342.19200300.100.1.60<br>
>> What is the difference here?<br>
>><br>
>> 1.3.6.1.4.1.1466.115.121.1.5 is binary, but there are other binary<br>
>> syntax like jpegPhoto.<br>
>><br>
>> -Matthew<br>
>><br>
>><br>
>> On Wed, Nov 7, 2012 at 2:46 PM, Chris Betts <<a href="mailto:***@gmail.com">***@gmail.com</a>> wrote:<br>
>> > Hi Matthew,<br>
>> ><br>
>> > just to clarify, you're basically trying to download the full<br>
>> > schema?<br>
>> > Or just the schema a particular entry?<br>
>> ><br>
>> > If the latter, it's a multi-step process; read the entries object<br>
>> > classes, and then look each of those up in turn.<br>
>> ><br>
>> > In general, finding 'non-string' attributes is a bit tricky, but not<br>
>> > conceptually hard:<br>
>> > step 1: find object classes<br>
>> > step 2: find all attributes (by looking up the schema)<br>
>> > step 3: look up each attribute syntax (by looking up the schema)<br>
>> > step 4: compare this syntax with the 'standard' string syntaxes (you<br>
>> > can<br>
>> > hard code these, they don't usually change); if it isn't one of those<br>
>> > it's<br>
>> > 'non-string'!<br>
>> ><br>
>> > When you look at JX code it can be a little confusing, as we try to<br>
>> > cache<br>
>> > a lot of this stuff so that we're not always interrogating the schema<br>
>> > (that's the reason for the slow initial connection; JX slurps down the<br>
>> > schema when we first connect).<br>
>> ><br>
>> > Anyway, let me know if this is the sort of thing you're trying to do<br>
>> > and<br>
>> > I'll chase down the exact code in JX<br>
>> ><br>
>> > - Chris<br>
>> ><br>
>> ><br>
>> > On 8 November 2012 05:29, Matthew Abbott <<a href="mailto:***@gmail.com">***@gmail.com</a>> wrote:<br>
>> >><br>
>> >> Chris,<br>
>> >><br>
>> >><br>
>> >> I have emailed you before on my hotmail account (<a href="mailto:***@hotmail.com">***@hotmail.com</a>)<br>
>> >> but I decided to send from my gmail account.<br>
>> >> Im back to working with the Oracle LDAP schema.<br>
>> >><br>
>> >> I still have not been able to point it to a DN and get ALL the<br>
>> >> attributes available. Everything I try is getting the attributes that<br>
>> >> have a value assigned to them.<br>
>> >> Also, I wondered if there was a way to go out and list the attributes<br>
>> >> that are binary.<br>
>> >><br>
>> >> <a href="http://docs.oracle.com/javase/jndi/tutorial/ldap/misc/attrs.html" target="_blank">http://docs.oracle.com/javase/jndi/tutorial/ldap/misc/attrs.html</a><br>
>> >><br>
>> >> If you scroll down it lists the binary attributes and it says there is<br>
>> >> not a programmatic way to determine if the syntax is nonstring. It<br>
>> >> says The LDAP service provider has a built-in list of attribute names.<br>
>> >> How does one get to this list using Java?<br>
>> >><br>
>> >> I was looking at your SchemaOps java code, but haven't been successful<br>
>> >> yet.<br>
>> >><br>
>> >> Also, as a side note..in the SchemaOps.java the comments for<br>
>> >> getSpecificName() and getTypeName() are the same. Is this correct?<br>
>> >><br>
>> >> Any help is appreciated, and I appreciate your past help greatly!!<br>
>> >><br>
>> >> -Matthew<br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>> > --<br>
>> > Dr Christopher Betts<br>
>> > Pegacat Software<br>
>> > Melbourne, Australia<br>
>> > m: 0408 533 456<br>
><br>
><br>
><br>
><br>
> --<br>
> Dr Christopher Betts<br>
> Pegacat Software<br>
> Melbourne, Australia<br>
> m: 0408 533 456<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Dr Christopher Betts<br>Pegacat Software<br>Melbourne, Australia<br>m: 0408 533 456<br>
--f46d0418267c27ff7e04ce03386a--