cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP request - "Authenticate pre-emptively"

JiriHusner
Level 3
Hi all,

we have been using REST APIs for quite a while and we came across SOAP. I searched the forum for more guide lines, but nothing helped.

I have a SOAP request which i am running using SOAP UI. The request works only with the Authentication option "Authenticate pre-emptively" ticked, "Use global preference" is not working. Do you know how to replicate it to HTTP Request? We also tried to replicate the request in Postman, but we came across the same issue.

I tried to use adding headers, 
Adding headers:
Blue Prism Community

Using HTTP Request:
Blue Prism Community

Thank you for any advice.

Jiri

SOAP Request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cis="http://www.i2.com/cis">
<soapenv:Header/>
<soapenv:Body>
<cis:processLoadRetrieve>
<cis:SystemLoadID>32274644</cis:SystemLoadID>
</cis:processLoadRetrieve>
</soapenv:Body>
</soapenv:Envelope>

HTTP Request
12253.png

Pre-emptive auth
12254.png


------------------------------
Jiri Husner
------------------------------
9 REPLIES 9

ewilson
Staff
Staff
@Jiri Husner,

Have you tried using the built-in SOAP capability of Blue Prism? If you can access the WSDL for the SOAP service you can import it into Blue Prism under the System section. It might make this easier than trying to replicate through the HTTP VBO.

Cheers,


------------------------------
Eric Wilson
Director, Partner Integrations for Digital Exchange
Blue Prism
------------------------------

@ewilson,

we tried to do it, but we get the error message that the website doesnt have a valid WSDL document. However I have the WSDL documention which i am able to load into SOAP UI. I tried to add an extension to the URL **.wsdl, **.wso etc but nothing helped. 

We also tried to "recreate" it in Postman using this link https://learning.postman.com/docs/sending-requests/supported-api-frameworks/making-soap-requests/ but it didnt work
12226.png

Thank you

Jiri

------------------------------
Jiri Husner
------------------------------

Is this a public SOAP web service or something internal to your company? Can you share the WSDL?

Cheers,

------------------------------
Eric Wilson
Director, Partner Integrations for Digital Exchange
Blue Prism
------------------------------

@ewilson

I sent you a private message as i cant share the WSDL document on forum, if we solve the issue i will post the solution into the chat.

Thank you​ for your help

Jiri

------------------------------
Jiri Husner
------------------------------

Just responded to your message.

Cheers,

------------------------------
Eric Wilson
Director, Partner Integrations for Digital Exchange
Blue Prism
------------------------------

@ewilson

i have not received your message to my mailbox, can you please resend it?​ Thank you

Jiri

------------------------------
Jiri Husner
------------------------------

Hi @Jiri Husner,

Seems there may be something wrong with my account as you're not the first person who hasn't received a reply from me. I've got a ticket open with the Community team investigate.

With that said, I took a look at the WSDL you sent. It seems it's to complex for Blue Prism to understand, so it can't be imported. I assume you experienced the same thing? In this case, you'd have to revert to using a Code stage and .NET to work with that service. On the plus side, this will give you complete control over handling of the authentication.

Cheers,


------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------

Apologies. I just went back over the thread and realized you were using the HTTP VBO. Let me take a look as the Force Pre Authorization flag should be sending the authorization request in pretty much the same way as SoapUI.

Cheers,

------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------

I went back to SoapUI just to make sure this worked the way I thought it worked. 🙂 When you enable preemptive authentication you're saying the server expects the authorization credentials to be sent in the initial request instead of waiting for an HTTP 401 Unauthorized response and then sending the credentials.

Within the HTTP VBO, when you set the preemptive authorization flag the code of the VBO goes ahead and adds the Authorization header to the request along with the Base64 encoded username and password. This is the same thing SoapUI is doing.

I think the next step would be to use something like Fiddler to capture the actual network traffic and compare the SoapUI request against that of Blue Prism and verify:

1) That the Authorization header is present and set.
2) Whether there are any other difference in the headers that might influence this.

Cheers,



------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------