In my previous blogs on connecting to BES for web service calls and GC (Good Control) for web service calls my goal was to get you authenticated, and running with a single SOAP or REST call. Well now that UEM is launched and even updated, I thought it was time for an update. The long-term goal is still to migrate our web services calls from SOAP to REST, and I talked about that in my UEM Getting started with REST blog. In this post I’m going over changes made when GC was blended with BES in more details.
Most of the changes are outlined in detail in the Release notes. But here is a short version:
BlackBerry Web Service (SOAP) calls in BES 12.5 are unchanged in UEM, the previous tutorial for getting started with BES web service calls will still work with UEM.
All BlackBerry Dynamics SOAP API’s (GC SOAP and CAP SOAP) not listed in the Release notes are no longer available. Note: This is because they are mostly MDM related, and those functions are now performed by former BWS soap calls.
Finally: the old method for connecting to GC and CAP SOAP calls now follows the BWS method, starting with the use of default port 18084 rather than 443, and connecting to wsdl’s online, rather than using a hardcopy on the server.
Like my previous examples, I’m going to use SoapUI, and show you how to connect, authenticate and make a simple query. The process is similar, but simpler than connecting
Step 1. Create a new project in SoapUI, for example BWSBUEM
You will need to connect to the GC and CAP wsdl’s. The links on your UEM server will be:
Add them to your project and you will see something like this (note: I also have the BWS wsdl’s added, so all 4 look like this)
- You should now be able to see all the SOAP calls you can make from CAP, GC (and BWS if you have it already setup).
- Double-click the SoapUI project to bring up the project configuration.
- Select the WS-Security Configurations tab.
- In the WS-Security Configurations, select the Outgoing WS-Security Configurations tab.
- Click the ‘+’ icon to add a new Outgoing WS-Security Configurations, then give the new config a name. Your new configuration should appear in the table.
- Underneath the table of Outgoing WS-Security configurations, click the ‘+’ in the lower left-hand tab to create a new WSS entry.
- Choose ‘Username’ from the dropdown list.
- In the username entry, add your UEM username and password. Note: make sure you specify the domain in the format: domain\username if using a domain account. Make sure ‘Add Created’ is checked, and “Adds a nonce” is not.
- For Password Type, choose PasswordText from the list.
- Save the project to record your changes.
- In the project window, open GCSoapBinding and scroll down to the operation GetUser. Expand GetUser and double-click ‘Request 1’.
- In the request window, select ‘Authentication and Security-related settings’ in the lower left (it may be represented as ‘…’ based on the size of the window on the screen).
- Set Authorization to Basic, and scroll down until you see Outgoing WSS, select the entry you added earlier (GCout in my image).
- In the xml view of the SOAP request, replace the ‘?’ in <urn:stringId>?</urn:stringId> with the stringId (the exchange email address) of a GC user. And as instructed by the request, remove the <urn:containerId>?</urn:containerId> line since we are using stringId.
- In the drop-down box at the top of the request window, choose [add new endpoint…] to add a new GC web services endpoint, e.g. https://<UEMhostname>:18084/gc/services/GCService. If you are testing on the GC server itself, you can specify https://localhost:18084/gc/services/GCService. Select the new endpoint. If you were using a CAP service, the url will be https://<UEMhostname>:18084/gc/soapproxy/cap
- Click the green submit button to send the SOAP request to the server.
You should receive a SOAP response containing the corresponding user data for the stringId you sent as a parameter in the SOAP request.
Now that you have GetUser working, try out the others, adding the same authentication and connection URL.