How to leverage the built-in SOAP web service capabilities in Blue Prism - Part 1

My most popular post by far has been https://rpasuccess.com/blog/2019/1/1/how-to-call-a-rest-api-from-blue-prism, and it is easy to understand why. As the Blue Prism ConnectedRPA platform continues to mature and expand, APIs will play an essential role in enabling systems to be loosely coupled and expand your digital workforce for more and more advanced capabilities.

REST APIs are pretty much the defacto design for many modern APIs; however, it is not the only API protocol out there. The other API protocol, still widely used, is SOAP (Simple Object Access Protocol). Now I can hear you groaning that SOAP is old, hard to work with, and REST APIs are simple, sexy, and easy to use. I tend to agree with you ;) and Blue Prism does actively support many, many third party REST APIs, which you can find at https://digitalexchange.blueprism.com/dx/.

Blue Prism also provides easy to use, built-in components (VBOs) to quickly build your own request/response flows to any REST or SOAP API. (If you have not read my other post give it a read for an overview of the built-in BLUE Prism REST API support https://rpasuccess.com/blog/2019/1/1/how-to-call-a-rest-api-from-blue-prism)

But we are here to talk about and use SOAP. Why? Couple reasons. First, Blue Prism is designed and developed using .NET, and .NET has deep SOAP, WSDL based libraries. These built-in libraries and tools make working with SOAP reasonably straightforward. So when Blue Prism was developed and web service functionality introduced, it was a no-brainer to leverage the powerful built-in .NET SOAP features. I will talk more about how to use some of these tools in part 2. 

Second, SOAP provides a more detailed, XML based definition of the data and even code passed in an API. Enterprise systems require stability, and linking enterprise systems together involves trust. SOAP accommodates both of these requirements. Check out the formalized standard at the W3C, https://www.w3.org/TR/soap/ for more information.

So all that said, this brings us to the fun stuff. How to leverage the built-in SOAP web service capabilities in Blue Prism? Your first question might be, why should I care? Ok, let's look at some potential use cases.

The two big buckets are: 
1) exposing a Blue Prism process or object as a web service; and 
2) calling a third-party SOAP web service.

By leveraging the ability to expose a process or object as a SOAP web service, you can extend access from the local control room to a broader user community. Authenticated, authorized users could now have the ability to interact with digital workers via a simple web browser as needed.

  • Expose control room like features to start, stop, and view processes.

  • Extend your RPA investment into other Enterprise solutions.

  • Teach your Digital Workers new skills with just an API call.

  • Move from just an RPA only solution to a more robust, Intelligent Automation architecture via BPM tools.

  • Provide access to security, auditing, and monitoring tools without massive integration.

One of the features of many SOAP APIs is the WSDL, which stands for Web Services Description Language. This XML based document describes the functionality offered by a web service. Because the WSDL is XML, it is machine-readable and can be used to auto-generate code to call the SOAP API.  

The cool thing about a WSDL is that there are lots of tools in a variety of languages (Java, .NET, etc.) that will generate an example code for you to interact with a SOAP-based service. Here is the power of SOAP and APIs, you can have another application, written in an entirely different language from Blue Prism, run these tools and get code that works in your environment to call the Blue Prism SOAP web service. 

Here is a list of some available WSDL code generation tools: https://www.soapui.org/soap-and-wsdl/soap-code-generation.html

So how do you get started? I highly recommend going through one of the official Blue Prism guides, freely available off of the customer portal. https://portal.blueprism.com/system/files/documents/v6.3%20User%20Guide%20-%20Web%20Services_0.pdf

One of the excellent SOAP features in .NET is a code generation tool wsdl.exe. The guide will walk you through the creation and execution of exposing a process and calling it from a .NET WSDL generated console application. 

In my next post, I will walk you through an example SOAP scenario, but be sure to check out the guides and material below to get started today on this powerful feature.

Additional Resources


Ed Garabedian