0

I need to use Blackboard Web Services and I don't know how to establish a connection throught SOAP. I need something like Security Header. I read a lot, but always when I try to connect I get this kind of error.

I have a little big problem with this exception. Nothing is clear for me. I have nothing at the application log. I cannnot guess what should be the problem. I read also about AXIS2, Timestamps...

2016-03-08 20:53:58,739 ERROR edu.ku.it.si.registerproxytool.controller.RegisterToolController.registerProxyToolWithBlackboard:84 - There was an error in registering the tool: WSDoAllReceiver: Incoming message does not contain required Security header

Process finished with exit code 0

I'm looking to connect with a Blackboard web service through SOAP, and I can not send a correct Security Header

I read a lot about it, and finally I found this article. I'm using the project this guy post in the pdf. I have a Blackboard instance working at localhost on port 9876. I can do everything I want with it. It works fully.

I also tried to use SOAPui and I'm reaching a different error:

WSDoAllReceiver: security processing failed (actions mismatch)

I don't want to read more, I read more than 150 articles about it, and nothing. Thanks :)

Community
  • 1
  • 1
radacina
  • 89
  • 2
  • 8

1 Answers1

0

I have just started playing around with Blackboard web services, at the moment I am just accessing using SOAPui. I am able to connect and send various functions, along the way I experienced the same error via SOAPui as you and so I found your question. I overcame this error by doing the following:

  1. Create a session using ContextWS.initialize, the username should be 'session' and the password 'nosession'. If successful this should return a token string.
  2. Login using ContextWS.login. The username in the header should be 'session' and the password should be the token returned in 1. The userid and password in the body should be those of a user with sufficient web services permissions. If successful this should return 'true'.
  3. Call whichever WS functions you wish. Always send the 'session' and token username and password in the header.

I found this here: https://community.blackboard.com/docs/DOC-1116

I also found https://community.blackboard.com/thread/2147 and the linked youtube video useful to understand how to send the data correctly using SOAPui - you may need to change the wsdl url to https as SOAPui reverts it to a standard http. You also need to add a timestamp for every call.