Hi all - I ran into the same issue with the services saying Object is “READ ONLY”. Here’s how I worked around it. I had my SOAP call working properly in an application called SOAP UI. I had success converting POSTMAN calls into the UiPath Web Request Activity. So I got the same call working int SOAP UI to work in POSTMAN by googling “make soap calls in postman”. For search bot purposes, I was trying to make a SOAP call to an Oracle Cloud finance report.
From there, I was able to make the soap call work in the UiPath web request activity.
- You need to download UiPath.WebAPI.Activities
- Using the HTTP Request activity:
a. The Endpoint is the SOAP endpoint URL without the ?wsdl parameter added.
b. The SOAP envelop goes in the Options->Body property. If the soap xml envelop is on mutiple lines, it helped me to combine all the lines into one. If the soap xml envelop has quotes in it, you need to apply 2 quotes ("") instead since your soap envelop is listed in the property as a quote enclosed string.
c. Options->BodyFormat property is application/xml
d. Options->Headers is a collection.
Content-Type Value: “application/soap+xml”
Connection Value: “keep-alive”
Accept-Encoding Value: “gzip,deflate,br”
User-Agent Value: “PostmanRuntime/220.127.116.11”
d. Request method needs to be a “POST”
The Output->Result property will be stored as a string. If the request returns XML, you may need to use something like the Deseriaize XML activity to turn your string back into an XML object.
For authentication in my case, I needed Simple Authenication so I use leveraged the username and password properties.
Hope this helps people who are stuck on getting SOAP calls to return in XML! Let me know if it helped you
I’m not saying this can’t be changed but this is how I got mine to work.