cancel
Showing results for 
Search instead for 
Did you mean: 

Executing different SOAP request's based on input field value

arunnp
New Contributor II

Hello,

I have to design a pipe line which is based on SOAP request. I have the wsdl. This is my first SOAP pipeline I have few queries.
The SOAP Execute snap has three fields

  1. Service Name 2) Endpoint . 3) Operation. What values I have to give here, I checked the document but its not clear to me.

The wsdl file I have has ‘ExecuteApplication’ endpoint or method. I need to execute this with request payload when the input filed $Action equal to “directory”.

I designed a pipe line like this
image

Here Json parser takes the input and Mapper will prepare the payload for SOAP executor. But this pipeline throwing error.
“message”: “HTTP Code: 400 Status: POST to pipeline that does not have an unlinked input view Errors: None”

Pls suggest how to execute this SOAP request .
thanks
arun

10 REPLIES 10

SpiroTaleski
Valued Contributor

@arunnp

Can you please attach a response from SOAP as a file here?

Regards,
Spiro Taleski

arunnp
New Contributor II

@Spiro_Taleski resp.txt (977 Bytes)

arunnp
New Contributor II

@Spiro_Taleski , did you get chance to check the sample SOAP response file.

pmanchevski
New Contributor II

Hello @arunnp

The provided JSON in the ExecuteApplicationResult field it’s not valid json. The main issue is the double quotes after string “Windows”

image

You can try to remove it with regex, but that won’t guarantee that this will be working solution in the future.
Try to map it ExecuteApplicationResult to result and pass it like that.

Regards,
Pero Manchevski

j_angelevski
Contributor III

Hi @arunnp ,
You can use this expression:

JSON.parse($['s:Body'].ExecuteApplicationResponse.ExecuteApplicationResult.replaceAll('Windows"', "Windows "))

This will parse all the data and transform it into JSON object, but I had to change the “Windows” part because is invalid. I removed the " from ‘Windows"’.

Result:
image