Jboss5.1でLDAPjavaプログラムを実行しようとしていますが、認証に失敗します。この同じアプリケーションは、JBoss 4.3で動作し、コマンドラインからJVMを介して動作します。
基本的に、コードにはCookieが入力されています。また、Jboss5.1でのみ機能しません。
そして、彼らはJDK1.6.0_27を使用しています。
以下は、LDAPに使用されているコードスニペットです。
PagedResultsResponseControl getCookieがJBoss5.xでのみNULLになるのはなぜですか?その部門で何か変更はありますか?
do {
NamingEnumeration results = ctx.search("ou=people,ou=appname,dc=dept,dc=test,dc=com",
"(&(objectclass=user)(CN=*))", new SearchControls());
Control[] controls = ctx.getResponseControls();
if (controls != null)
{
System.out.println("if (controls != null) controls.length=" + controls.length);
for (int i = 0; i < controls.length; i++)
{
if (controls[i] instanceof PagedResultsResponseControl)
{
PagedResultsResponseControl prrc = (PagedResultsResponseControl)controls[i];
cookie = prrc.getCookie(); /// The cookie is returned as null when run on jboss 5.1. It returns a cookie containg details of next page to be retrieved.
// This part of the code works perfectly fine with jboss 4.3 and command line.
}
}
}
else
{
System.out.println("No controls were sent from the server");
}
// Re-activate paged results
ctx.setRequestControls(new Control[]{
new PagedResultsControl(pageSize, cookie, Control.CRITICAL) });
if(cookie==null)
{
System.out.println("cookie is null");
}
else
{
System.out.println("cookie.length= " + cookie.length + "cookie= " + cookie.toString());
}
} while (cookie != null);