Forum Problems Installing LAMS: Integrating with Blackboard


 
You may request notification for Integrating with Blackboard.
Search: 

1: Integrating with Blackboard
06/27/06 06:13 PM
[ Reply | Forward ]
We have been trying to get LAMS and Blackboard talking but it just isn't happening.
LAMS is working fine - installed on a W2003 server, Blackboard is working fine (obviously!) but when we try to get a new sequence (as none exist) we get this error message HTTP: 500

The server encountered an internal error () that prevented it from fulfilling this request

javax.servlet.ServletException: Fail to fetch user data from external server:CQULAMSTEST - Unexpected return HTTP Status
at org.lamsfoundation.ld.security.web.LoginRequestServlet.doGet(LoginRequestServlet.java:165)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.jboss.web.catalina.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:227)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.lamsfoundation.ld.security.valve.LoginRequestValve.invoke(LoginRequestValve.java:80)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)


root cause


It appears that possibly the dynamic provisioning isn't working in one form or another? The username being used by Blackboard actually exists within LAMS as we then put in the username to provide static provisioning - still no change

any ideas?

Colin

Posted by Colin Beer

2: Re: Integrating with Blackboard
In response to 1 06/27/06 07:13 PM
[ Reply | Forward ]
Yep - I assume in the screen to add a LAMS activity, the dropdown menu for workspaces and sequences don't load? In the LAMS database table tbl_user does the Blackboard user exist with a prefix? (prefix set in ext_server_org_map). e.g. bb_administrator

Check your ext_server_org_map entry in the LAMS database (particularly the serverid/key and userinfo_url entries). Have a look at the access logs for LAMS and Blackboard (in LAMS, they are in C:\lams\jboss\server\default\log\localhost_access2006*.log. In the LAMS log we want to make sure that a request has been made to create a new user, and request the list of sequences, etc. Something like this:

137.111.246.8 - - [19/Oct/2005:13:11:29 10000] "POST /lams/services/LearningDesignService HTTP/1.0" 200 2736

(here a Blackboard user would see the dropdown menus 'loading' the list of workspaces/sequences)

192.168.111.56 - - [19/Oct/2005:13:11:40 10000] "GET /lams/LoginRequest?uid=instructor01&method=author&ts=1129691463791&sid=horizon-sakai&hash=be1588129d0f32ab13bc10a2edff0dba64d7e261 HTTP/1.1" 302 -
192.168.111.56 - - [19/Oct/2005:13:11:40 10000] "GET /lams/j_security_check?j_username=hs_instructor01&j_password=997fbbce1d0ef10d82f3a6fafcf41841 HTTP/1.1" 302 -

(since it is their first time, LAMS will create a new user on the fly)

192.168.111.56 - hs_instructor01 [19/Oct/2005:13:11:40 10000] "GET /lams/index.jsp HTTP/1.1" 200 10672

In the Blackboard access log, you want to see that the call for Blackboard user data has been made (sorry this isn't a real life example):

/webapps/lams-plglamscontent-bb_bb60/UserData?uid=%username%&ts=%timestamp%&hash=%hash%

Posted by Jun-Dir Liew

3: Re: Integrating with Blackboard
In response to 1 06/27/06 08:12 PM
[ Reply | Forward ]
Thanks for the prompt reply. Below is the last 2 entries of the localhost_access2006-06-28.log when a user who doesn't exist in the lams database tries to use lams within Blackboard.


138.77.34.129 - - [28/Jun/2006:12:03:30 10000] "POST /lams/services/LearningDesignService HTTP/1.0" 500 716
138.77.20.6 - - [28/Jun/2006:12:03:34 10000] "GET /lams/LoginRequest?uid=morrisp&method=author&ts=1151460171252&sid=CQULAMSTEST&hash=8a7d2c666d080a4d17978c567b7b551966c1f760 HTTP/1.1" 500 8940

Posted by Colin Beer

4: Re: Integrating with Blackboard
In response to 1 06/27/06 08:35 PM
[ Reply | Forward ]
Yep, that is consistent with the error you got in the browser. In your browser try accessing this URL:

http://your blackboard server.com/webapps/lams-plglamscontent-bb_bb60/UserData

It should respond with error 401, 'missing expected parameters'.

The error says that LAMS isn't receiving what it should from the Blackboard module, so check the Blackboard access log to see if a URL such as

/webapps/lams-plglamscontent-bb_bb60/UserData?someparamaters

has been accessed from the LAMS server successfully.

BTW, which Blackboard version are you using?

Posted by Jun-Dir Liew

5: Re: Integrating with Blackboard
In response to 1 06/27/06 10:30 PM
[ Reply | Forward ]
When I try the webapps/lams-plglamscontent-bb_bb60/UserData I get the response error 401, 'missing expected parameters' as expected.

We are using Blackboard 6.3.1.593.

In the blackboard access log we have the example
x.x.x.x - - [28/Jun/2006:14:13:00 +1000] "GET /webapps/lams-plglamscontent-bb_bb60/UserData?uid= __SNIP__ HTTP/1.1" 401 1017 "Java/1.4.2_11" "-"

Posted by Colin Beer

6: Re: Integrating with Blackboard
In response to 1 07/03/06 08:18 PM
[ Reply | Forward ]
Hi Colin, sorry for the late reply.

If the 401 error shows up in Blackboard's access log (as a result of LAMS contacting Blackboard, not your own manual entering of the URL), then I'd check that the server id and server key entered in both LAMS' ext_server_org_map table and Blackboard's LAMS module configuration settings are identical (HTTP 401 represents an authorisation error).

Another thing you can do is, when you access LAMS from Blackboard and it doesn't work, go to your Blackboard access log, grab the UserData URL such as

/webapps/lams-plglamscontent-bb_bb60/UserData?uid= __SNIP__

and paste this into your browser (with the full parameters at the end, and your blackboard domain at the beginning of course). If you get a plaintext response containing username, firstname, lastname, and email, then there may be a bug in the LAMS code. If it responds with a 401 error, then it's most likely an incorrect serverid/key.

I'm just going to make a note of this - the module should probably present the 401 error as logged in Blackboard's access log, not the 500 error as returned by LAMS.

Posted by Jun-Dir Liew

7: Re: Integrating with Blackboard
In response to 1 07/12/06 04:04 PM
[ Reply | Forward ]
When I paste manually I get a 401. The server key in MYSQL and the server key in the BB callback URL are identical but I'm still getting a 401 in the BB log. Any suggestions?

Posted by Colin Beer

8: Re: Integrating with Blackboard
In response to 1 07/13/06 06:03 PM
[ Reply | Forward ]
Hi Colin,

I just went over your posts, and found I missed something - in the 3rd post in this thread, you quoted this log:

138.77.20.6 - - [28/Jun/2006:12:03:34 10000] "GET /lams/LoginRequest?uid=morrisp&method=author&ts=1151460171252&sid=CQULAMSTEST&hash=8a7d2c666d080a4d17978c567b7b551966c1f760 HTTP/1.1" 500 8940

It seems the callback URL is incorrect. The format it should be in is:

http://{blackboard_server}/webapps/lams-plglamscontent-bb_bb60/UserData?uid=%username%&ts=%timestamp%&hash=%hash%

Just update this in the MySQL table and that should do the trick.

Posted by Jun-Dir Liew

9: Re: Integrating with Blackboard
In response to 1 07/13/06 11:52 PM
[ Reply | Forward ]
Ok I tried everything suggested and no go so I reinstalled lams and now the problem has changed a little. In the /lams/jboss/server/log localhost_access2006-7-14.log I have the following error.

xxx.xx.xx.xx - - [14/Jul/2006:15:48:25 10000] "POST /lams/services/LearningDesignService HTTP/1.0" 500 631

the ip address crossed out is the blackboard server.

Posted by Colin Beer

10: Re: Integrating with Blackboard
In response to 1 07/14/06 12:31 AM
[ Reply | Forward ]
With the new install, do you get a new user created in LAMS' tbl_user table?

Please ignore my last post - it seems I was right the first time, and mistook your LAMS log for a Blackboard log :$

Could you post or email your LAMS logs? There may be more detail to the error in them.

Posted by Jun-Dir Liew

Reply to first post on this page
Back to Problems Installing LAMS