cancel
Showing results for 
Search instead for 
Did you mean: 

Get SOAP data using HTTP Request

NickiKristensen
Level 4
Hi all,

I'm trying to utilize a SOAP based Web API, using the HTTP Request action.
Unfortunately it's not possible to use the Web Services directly.

I can get the data I want by using the cURL command below - some data are redacted:
curl -X POST -H "Content-Type: text/xml" -H 'SOAPAction: "http://www.website.tld/2019/01/api/IHelloApiV1/SayHello"' --data-binary @request.xml https://www.website.tld/website/943/api/hello/v1?wsdl --user username:password.
The contents of the request.xml file is as follows:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://www.website.tld/2019/01/api">
   <soapenv:Header/>
      <soapenv:Body>
         <api:SayHello>
            <api:name>Nicki</api:name>
         </api:SayHello>
      </soapenv:Body>
</soapenv:Envelope>

In Blue Prism, I have configured the HTTP Request action like this:
11823.png
However, I do recieve this error:
"The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None)"

My guess would be something with the SOAPAction part of the cURL command, missing in Blue Prism, but I'm not by any means an SOAP expert ;)

Can anyone spot my mistake? 



------------------------------
Nicki Kristensen
RPA Developer
IBC International Business College
------------------------------
1 BEST ANSWER

Helpful Answers

peterlacken
Level 7
Interesting case :)

Too early in the morning to experiment for me but I notice the CURL has a -H that I recall is a Header. Maybe you need a Header collection in your POST call to replicate that?

peter

------------------------------
PeterLacken
Ren Røros Intelligent Automation
Peter.Lacken@rria.no
http://www.rria.no
------------------------------

View answer in original post

3 REPLIES 3

peterlacken
Level 7
Interesting case :)

Too early in the morning to experiment for me but I notice the CURL has a -H that I recall is a Header. Maybe you need a Header collection in your POST call to replicate that?

peter

------------------------------
PeterLacken
Ren Røros Intelligent Automation
Peter.Lacken@rria.no
http://www.rria.no
------------------------------

Thank you Peter, that did the trick!

------------------------------
Nicki Kristensen
RPA Developer
IBC International Business College
------------------------------

Hi Nicki, Did you pass that request.xml as collection in the header? Can you please share more details how xml was passed to the Webservice url.​

------------------------------
Kumar
------------------------------