Blackboard Learn 9.1 Web Services Tutorials and Documentation
Blackboard Learn provides extensive web services that external applications may use to get information from and add information to Blackboard. The below links can be used to learn about Blackboard Learn 9.1 web services and to download Java applications that demonstrate how to use the web services.
I wrote these Java example applications, tutorials and documentation based on updated versions of my previous blog articles on Blackboard Learn's web services. Each file includes a link to download an example Java application that can be viewed in any Maven compatible Java IDE. The example applications include a detailed ReadMe.txt file that explains how to build and run the example either in Eclipse or just using Maven.
These documents will become the references I will use in preparing my presentation on Blackboard's web services, which I'll give in July 2011 at the Blackboard Developer's conference.
Please use the Add Comment link below to provide any feedback. I'm especially interested in any feedback from Java developers who were not able to run the example applications with their own Blackboard installation.
Tutorials
- Blackboard Web Services Presentation
- Part 1 - Setup A Proxy Tool For Accessing Blackboard's Web Services
- Part 2 - How To Learn About Specific Blackboard Learn 9.1 Web Service Classes
- Part 3 - How To Generate Java Client Classes For Blackboard Learn 9.1 Web Services
- Part 4 - How To Use Blackboard Learn 9.1 User Web Service (Updated - Updating an existing Blackboard user now works)
- Part 5 - View The SOAP Request and Response
Since your CFC functions will be interacting with the BB web service you should not have any issues with CAS.
If you get CF to interact with the BB web services please be sure to post that. There are several example applications that use Java or C# with BB web services, but nothing I know of that uses CF.
Also depending on what you need to do - it may be simpler to query directly the BB database. Blackboard does support select database queries and now publishes their database schema. If you just need to get information out of Blackboard, we've found querying the Blackboard database much simpler to implement.
Final Memory: 7M/162M
------------------------------------------------------------------------
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project registerproxytool: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.
For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/M...
I'm trying to install a proxy tool so I can use webservices from blackboard. After following every step as described in the document "How To Login Using A Proxy Tool" I'm having this error when Running As Java Application.
ERROR edu.ku.it.si.registerproxytool.controller.RegisterToolController.registerProxyToolWithBlackboard:84 - There was an error in registering the tool: [WSFW009]Rejecting webservice call: Service Context.WS is not active (operation: initialize)
It's weird because I already have available all of the webservices in my blackboard settings.
Would you please give me some advice?
Best regards!
Juan
Your documentation has been very helpful. I know in your latest update for saving/deleting a user, I was able to get that to work as well. What I'm trying to do now is to get a grade and save a grade.
To quickly test this, I took your sample and added another method to get the grades. The majority of the method is identical, meaning setting up the configuration and creating the logintool and login in.
The piece that changes is after confirming that the login is successful.
GradebookWSStub gradebookWSStub = new GradebookWSStub(ctx,
"https://"; + blackboardServerURL + "/webapps/ws/services/Gradebook.WS");
client = gradebookWSStub._getServiceClient();
options = client.getOptions();
options.setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION,
HTTPConstants.HEADER_PROTOCOL_10);
// Next, setup ws-security settings
// Reuse the same callback handler
options.setProperty(WSHandlerConstants.PW_CALLBACK_REF, pwcb);
ofc = new OutflowConfiguration();
ofc.setActionItems("UsernameToken Timestamp");
ofc.setUser("session");
ofc.setPasswordType("PasswordText");
options.setProperty(WSSHandlerConstants.OUTFLOW_SECURITY, ofc
.getProperty());
client.engageModule("rampart");
List<ScoreVO> scores = new ArrayList<ScoreVO>();
GetGrades getGrades = new GetGrades();
ScoreFilter filter = new ScoreFilter();
filter.setUserIds(new String[]{"tjones"});
// 8 is the filter type for user id
filter.setFilterType(8);
GradebookWSStub.GetGradesResponse getGradesResponse = null;
try {
getGradesResponse = gradebookWSStub.getGrades(getGrades);
} catch (RemoteException e) {
LOGGER.error("Error getting grades: " + e.getMessage());
}
for (GradebookWSStub.ScoreVO score : getGradesResponse.get_return()) {
LOGGER.info("Found score: " + score.getId() + " with score: " + score.getGrade());
scores.add(score);
}
The call to getGrades() -> is successful but in my loop below it where I print out the score information, "getGradesResponse.get_return()" is always returning null. The user "tjones" does have graded items.
I was hoping if you could see what I'm doing wrong.
2015-09-04 16:12:08,819 ERROR edu.ku.it.si.registerproxytool.controller.RegisterToolController.registerProxyToolWithBlackboard:84 - There was an error in registering the tool: Couldn't find repository location '/usr/local/blackboard/config/axis2_client/modules'
Question: this bbws.modulePath is at blackboaord server site or at client site where registerproxytool installed?
Thanks,
Jianrong
2015-09-04 16:12:08,819 ERROR edu.ku.it.si.registerproxytool.controller.RegisterToolController.registerProxyToolWithBlackboard:84 - There was an error in registering the tool: Couldn't find repository location '/usr/local/blackboard/config/axis2_client/modules'
Question: this bbws.modulePath is at blackboaord server site or at client site where registerproxytool installed? <a href="https://www.tillmanstory.com/whatsapp/download-wha...;
Thanks,
Jianrong