cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
932
Views
0
Helpful
12
Replies

LDAPSearch COM Errors

paul.knapp
Level 1
Level 1

Hi,

I am trying to search our LDAP database but I am getting the following SDK error on IP Phone:

"Automation server cannot create object: -7ff5fe53".

I installed correctly SDK on web server, registered ldapsearch object with COM server but still getting error.

Is it the problem with my credentials ?

I need help !!!

Paul

12 Replies 12

robinboer
Level 1
Level 1

Did you also install and checked if the proxy is installed correct? See Proxy release notes for more information.

If everything is correctly installed please let us know your source code ...

Thanks,

Robin

Hi

I correctly registered LDAPSearch object on IIS server and ran very simple program checking LDAP credentials. But still does not work correctly.

i think it is something with LDAPSearch object.

This is my source:

<%@ Language=JavaScript %>

<%

Response.ContentType = "text/xml";

try

{

var s = new ActiveXObject("LDAPSearch.LDAPSearchList");

s.Server = "Server DNS name";

s.Port = PortNumber;

s.AuthName = "LDAP user";

s.AuthPasswd = "Passwd";

s.SearchBase = "DC=ttt,DC=ttt";

s.SetOutputTitle("ActiveX Directory Search", 20);

s.SearchAll();

Response.Write(s.XMLOutput(0, 32));

}

catch(err)

{

Response.Write("Error," + err.description );

}

Response.End();

Session.Abandon();

%>

I do not get any errors, just "Cancel" key on the IP Phone screen.

Please help me if you have any ideas.

Paul

aaronw.ca
Level 5
Level 5

That is actually error 800a01ad, which you should have an easier time finding information about. I believe that it is reported as -7ff5fe53 due to vbscript/jscripts lack of an unsigned integer data type.

For additional reference:

http://www.adminlife.com/247reference/msgs/9/49301.aspx

If ASP cannot create the COM object, then perhaps it cannot find it. How are you creating the object? You should be doing something similar to this:

var s = new ActiveXObject("LDAPSearch.LDAPSearchList");

See also this URL for more information, as some sample code had previously attempted to create the object as LDAPSearch.LDAPSearchList.1, but there should be no version number at the end of the object identifier.

http://www.cisco.com/cgi-bin/dev_support/access_level/newsletter.cgi?newsletter_id=15&back=IP_PHONE_SERV#5

You could try calling the service from a web browser. That can be an easier method of debugging problems such as this.

It doesn't look like a security violation, which I believe is a different error code and indicates a different problem.

For additional information:

Active Server Pages returns VBScript runtime error '800a01ad'

http://support.microsoft.com/?kbid=194801

INFO: ASP Knowledge Base Article Index

http://support.microsoft.com/kb/259383/EN-US/

Thanks for your feedback.

I already tried to use var s = new ActiveXObject("LDAPSearch.LDAPSearchList"); without option .1 and problem still exist (the same error number).

As you suggested I looked at the ASP error '800401f3' description. I was searching for CLSID-->InprocServer32 entries in registry. But I could find any with the path to dll. Be honest I do not know exactly what object we should look for ? LDAPSearch ? LDAPSearchList ? ...or what dll file ?

Could you help me with this.

Additionally the CiscoURLProxy is installed corectly in a system.

Paul

If you try it in a browser, what error do you get? Is there any additional error information?

Have you tried registering the dll again using regsvr32, to make sure the registration worked?

If you're using IE to test your service, you might want to uncheck the "Show Friendly HTTP Error Messages" option.

The registration worked fine.

I use standard Cisco "ldapdirectorylist.asp" script.

Interesting is (which I discovered a few min ago) that when I add "Response.ContentType = text/xml" at the top of the asp file, the error message disappears (the original version did not have it).

So what I see is blank screen with "cancel" button.

I think it is a problem now with LDAP credentials.

I put correctly the following data:

s.server

s.port

s.AuthPasswd

s.SearchBase

...but I do not know exactly the structure of the s.Authname field.

When I use special tool to querry LDAP with these credentails, everything works. But when I use the same values in a script it does not work at all.

Is there a something special I need to include to have credentails working ?

Paul

I don't think that the problem is your credentials, since the error is focused on the line creating an instance of the component. The attempt to connect happens later. You could add a few Response.Write() commands to see how far you are getting in the ASP page, though you will probably find that you are failing at the creation of the component, as indicated by the error.

Opening the page in IE will usually provide a few additional details that can be helpful in troubleshooting.

The reason that a blank page is displayed when you open the page in IE when the contenttype is set to text/xml is that IE is expecting XML but is receiving an HTML error page instead. Try viewing the source of the empty page, and you should see the source behind it.

See this post for additional information on the use of credentials:

http://forum.cisco.com/eforum/servlet/NetProf?page=netprof&forum=IP%20Communications%20and%20Video&topic=IP%20Phone%20Services%20for%20Developers&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.1dd907ff

The reason that your 3rd party tool works is because it uses its own LDAP connection library, not the LdapSearch.dll that you are using with your ASP script.

In order for your ASP script to be able to use the LdapSearch.dll, ASP must be able to find the dll (ie the DLL was properly registered using regsvr32, and the script references a name that ASP can find the component with) and it must have permissions to use the dll.

One guess that you could look at is to see what users have permission to use the LdapSearch.dll. Right-click the dll, and look at the Security tab. Does the Users group have access to the dll? If not, you could try adding the Users group with Read&Execute and Read permissions, and see if that makes a difference.

Hi,

How does your s.Authname look like? It should be like:

s.Authname="cn=jdoe,cn=Users,dc=somewhere,dc=com"

and s.SearchBase="cn=Users,dc=somewhere,dc=com"

Hi,

Thanks for your response. Our credentails are similar to this:

s.Authname="CN=jdoe,OU=Users,OU=ttt,dc=smth,DC=bdt,DC=com"

s.SearchBase="DC=bdt,DC=com"

These credentials work fine with LDAP client but not LDAPSearch COM object.

Is there somtehing that we can you use to check that IIS server works fine and talks to LDAP database through COM objects.

I have read somewhere that we can us CCM Tomcat WEB services to make LDAP lookup instead standalone IIS server. It was quite successful.

Paul

I'm not quite sure why you're still looking at credentials when it doesn't appear that you know for sure that it is the search that is failing and not the object creation? But you are closer to the problem than I, so I'll say no more on that! :)

If you want to look at the web services interface, it is known as AXL, and documentation and sample applications are available from Cisco Developer Support in the AXL category, in the IP Phone SDK, and online:

http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_programming_reference_guides_list.html

The best way to obtain user information, imo, is via LDAP. The AXL API is very powerful and provides a lot of information, but might be overkill for what you are looking for.

When you try running the application in a browser, what information does it return about the problem? Can you post that information? It should provide more information than just the error code, especially if you disabled friendly error messages as I suggested earlier. Also, did you check the permissions on the ldapsearch.dll?

I spent more investigating this problem and found the following entries in registry:

HEY_CLASSES_ROOT

-->LDAPSearch.LDAPSearchList

--> CLID

-->Default {C6E91558-6B09-4CA3-8471-75A84AB4CD30}

{C6E91558-6B09-4CA3-8471-75A84AB4CD30}

--> InprocServer32

--> Deafult C:\CiscoIPServices\COMServers\LDAPSearch\LDAPSearch.dll

--> InprocServer32 b(xLjdoeb@HcC8qxn4aW>pbyx42^7L9xzU[0dzXEt

--> threadingModel Apartment

Interesting is that registry has also .2 & .3 entries showed below:

HEY_CLASSES_ROOT

-->LDAPSearch.LDAPSearchList.2

--> CLID

HEY_CLASSES_ROOT

-->LDAPSearch.LDAPSearchList.3

--> CLID

... and they are pointed to the same folder where LDAPSearch is located.

Paul

pbuch
Level 1
Level 1

Hi

Not much help, but i have the same problem :-)

Just installed the sdk and got the clock an calendar app running. Now i am trying the ldapsearch and gets the same error as here. I have been looking in the server log and found several errors like this:

"Error: The Template Persistent Cache initilization Failed for Application Pool "DefaultAppPool" because of the following error: Could nor create a Disk Cache Sub-directory for the Application Pool"

The error cant be looked up on ms.com

Being a -MS man i'am stuck here :-)

Its a 2003 small business server

/Per

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: