Setting up an HTTP request to call an internal SOAP service versus defining the SOAP service in Blue Prism
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎04-10-22 09:17 PM
Hello, I am trying to execute this XML with the token key built into the XML (this was taken from SOAPUI and is working correctly there).I will be making a separate call prior to this, to get the token using a Web API service:
Here is my request, with XML body represented by previous screenshot :

getting the following response after the call:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Unable to handle request without a valid action parameter. Please supply a valid soap action.</faultstring><detail /></soap:Fault></soap:Body></soap:Envelope>
I am not a web developer, so I am sure I am over simplifying this. I tried another approach, creating the SOAP service in the system side of Blue prism. I was successful but don't know how to set up the input collection. Someone on this site had suggested using the HTTP request, so here I am
My questions are these:
1. Is this the correct approach? If so, what am I doing wrong
2. Will I be able to insert variable values for all the elements like this (i.e) <BranchId >[branch id] with this approach
3. If I should be using the SOAP Web service I created in Blue Prism, what would the input collection look like?

Sorry for all the questions!! Thanks for your help in advance
------------------------------
June Siravo
Analyst
FIAM
America/New_York
------------------------------
Here is my request, with XML body represented by previous screenshot :
getting the following response after the call:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Unable to handle request without a valid action parameter. Please supply a valid soap action.</faultstring><detail /></soap:Fault></soap:Body></soap:Envelope>
I am not a web developer, so I am sure I am over simplifying this. I tried another approach, creating the SOAP service in the system side of Blue prism. I was successful but don't know how to set up the input collection. Someone on this site had suggested using the HTTP request, so here I am
My questions are these:
1. Is this the correct approach? If so, what am I doing wrong
2. Will I be able to insert variable values for all the elements like this (i.e) <BranchId >[branch id] with this approach
3. If I should be using the SOAP Web service I created in Blue Prism, what would the input collection look like?
Sorry for all the questions!! Thanks for your help in advance
------------------------------
June Siravo
Analyst
FIAM
America/New_York
------------------------------
4 REPLIES 4
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎05-10-22 03:01 AM
Hello @June Siravo,
You are delving into ugly bowels of SOAP. 😂 If Blue Prism's SOAP wizard properly understands your service WSDL, I'd start there. As for the definition of the input Collection, it comes down to what the service expects for that action (lpUpdate in this example).​ When it comes to SOAP, REST, etc, a Collection is Blue Prism's simple-minded way of trying to represent a generic object. Sometimes it works, sometimes it doesn't.
In your example, the lpUpdatedRequest input Collection basically amounts to the various items that are contained in the SOAP XML between the tags <lpUpdateRequest> and </lpUpdateRequest>. This stuff....

So it seems you have the following entries:
Back to your first error with trying to use the HTTP VBO. I believe that error relates to a missing HTTP header that basically defines the SOAP action that you're trying to invoke. If you run the test in SoapUI again and then check the link at the bottom of SoapUI for http log you should be able to see what headers are supposed to be there. Here's an example from me calling a BP VBO exposed as a SOAP web service.

Cheers,
------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------
You are delving into ugly bowels of SOAP. 😂 If Blue Prism's SOAP wizard properly understands your service WSDL, I'd start there. As for the definition of the input Collection, it comes down to what the service expects for that action (lpUpdate in this example).​ When it comes to SOAP, REST, etc, a Collection is Blue Prism's simple-minded way of trying to represent a generic object. Sometimes it works, sometimes it doesn't.
In your example, the lpUpdatedRequest input Collection basically amounts to the various items that are contained in the SOAP XML between the tags <lpUpdateRequest> and </lpUpdateRequest>. This stuff....
So it seems you have the following entries:
- lpId
- LockId
- IsTeamIp
- lpAliasList (this is basically a child Collection)
- lpAlias (this is another child Collection)
- ItemState
- LockId
- BranchId
- ExternalSystemsCd
- ExtrnlOrgNo
- ExtrnlBrnchNo
- ExtrnlRegRepNo
- UserStamp
- lpIsnNo
- UpdateDate
- lpAlias (this is another child Collection)
- WaiveChangeRequest
- DartAliasReviewIndicator
Back to your first error with trying to use the HTTP VBO. I believe that error relates to a missing HTTP header that basically defines the SOAP action that you're trying to invoke. If you run the test in SoapUI again and then check the link at the bottom of SoapUI for http log you should be able to see what headers are supposed to be there. Here's an example from me calling a BP VBO exposed as a SOAP web service.
Cheers,
------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎05-10-22 07:07 PM
Hi Eric,
Thank you for getting back to me and for the not so good news on SOAP 😞 So I believe I need to go the HTTP route after all, as I have a header (which includes the OAUTH bearer token) that is not part of the WSDL I have in Blue Prism. I have tested out my XML in SOAPUI (with header info) and it is working. Can you confirm that I need to use HTTP based on needing a SOAP header or can I use the credentials here? My OAUTH token is dynamic so I dont believe I can use what I have below. Just want to narrow down which approach will work.
Thanks Again,
June

------------------------------
June Siravo
Analyst
FIAM
America/New_York
------------------------------
Thank you for getting back to me and for the not so good news on SOAP 😞 So I believe I need to go the HTTP route after all, as I have a header (which includes the OAUTH bearer token) that is not part of the WSDL I have in Blue Prism. I have tested out my XML in SOAPUI (with header info) and it is working. Can you confirm that I need to use HTTP based on needing a SOAP header or can I use the credentials here? My OAUTH token is dynamic so I dont believe I can use what I have below. Just want to narrow down which approach will work.
Thanks Again,
June
------------------------------
June Siravo
Analyst
FIAM
America/New_York
------------------------------
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎05-10-22 08:37 PM
Hi @June Siravo,
​You'll have to go the Code stage and HTTP route if you have a customer header. The Basic Auth information that the Wizard collects results in an Authentication header being created, but it won't be the correct one for you.
Cheers,
------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------
​You'll have to go the Code stage and HTTP route if you have a customer header. The Basic Auth information that the Wizard collects results in an Authentication header being created, but it won't be the correct one for you.
Cheers,
------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎06-10-22 06:46 PM
We did go the HTTP route and that seemed to work for us, leaving this as an example for the next person:


------------------------------
June Siravo
Analyst
FIAM
America/New_York
------------------------------
------------------------------
June Siravo
Analyst
FIAM
America/New_York
------------------------------
