I am working to create a SOAP web service to integrate with Appian. I have curre

I am working to create a SOAP web service to integrate with Appian. I have currently tested the web service and it works when being called by other clients, but the Appian web service node does not seem to be passing the web service any parameters. I have successfully got a return "hello world" from the web service into Appian, so the issue is with the passing of data. I'm currently attempting invoke the web service using the an expression rule. This is the code I'm executing, but the web service noes not detect any variables.Stuff is the variable name and it should echo back with whatever is passed to the web service. Any assistance would be greatly appreciated.

webservicequery(
wsConfig:
a!wsConfig(
wsdlUrl: "testurl/.../test
service: "{testurl:443/test}test",
port: "testPort",
operation: "{https://testurl:443/test}echo"
),
inputVar: {stuff: "more stuff"}}
)

**Note: I have changed the ...

OriginalPostID-196612

OriginalPostID-196612

  Discussion posts and replies are publicly visible

Parents
  • I believe you're missing a level of keywords in the data parameter. The input variables should always be a dictionary of a dictionary (and you're missing an open { in the beginning). The first key would be the element of the main message that's being sent.

    In the example of a temperature conversion service, the message element (www.w3schools.com/.../tempconvert.asmx would be {CelsiusToFahrenheitSoapIn: }

    The next level is the element within the data type of that message, so CelsiusToFahrenheitSoapIn has a data type element of CelsiusToFahrenheit with one element called Celsius. The value of that element should be the value you want to pass into the service. That forms the second nested dictionary, so the entire thing would be something like "data: {CelsiusToFahrenheitSoapIn: {Celsius: 23}}"
Reply
  • I believe you're missing a level of keywords in the data parameter. The input variables should always be a dictionary of a dictionary (and you're missing an open { in the beginning). The first key would be the element of the main message that's being sent.

    In the example of a temperature conversion service, the message element (www.w3schools.com/.../tempconvert.asmx would be {CelsiusToFahrenheitSoapIn: }

    The next level is the element within the data type of that message, so CelsiusToFahrenheitSoapIn has a data type element of CelsiusToFahrenheit with one element called Celsius. The value of that element should be the value you want to pass into the service. That forms the second nested dictionary, so the entire thing would be something like "data: {CelsiusToFahrenheitSoapIn: {Celsius: 23}}"
Children
No Data