Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
11 replies
Subscribers
7 subscribers
Views
5699 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Integrations
I am working to create a SOAP web service to integrate with Appian. I have curre
calebs858
over 9 years ago
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
0
calebs858
over 9 years ago
...url from the one I'm testing, but everything else is the same.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Nick Vigilante
Appian Employee
over 9 years ago
Instead of wsConfig and inputVar, use config and data respectively. More details on the definition of this function can be found here:
forum.appian.com/.../Scripting_Functions.html
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
calebs858
over 9 years ago
Thanks for the feedback. I gave this another shot with changing the keywords, but the webservice is still not seeing any parameters come through. I've also tried omitting them entirely.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
calebs858
over 9 years ago
By them i meant the keywords for the expression
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Nick Vigilante
Appian Employee
over 9 years ago
If you use the Call Web Service node in a process model, does the same issue occur?
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
calebs858
over 9 years ago
Yes, I have the same issue is there. I was using the expression to take out some of the middle man and see what the response was. Here is what the web service node looks like.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Nick Vigilante
Appian Employee
over 9 years ago
Are there any errors in the application-server.log around the time you tested the node/expression?
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Jennifer Durina
Appian Employee
over 9 years ago
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}}"
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
calebs858
over 9 years ago
Thank you, Jennifer! It was very helpful to have an example to be able to match up with my current wsdl. The solution was I needed to create the dictionary for the parameters. I tried this before, but I wasn't using the correct element name. So thanks again for your help everyone. As as bonus question to anyone that can answer... Now that I've corrected the expression to work how would I put the same information in the process model web service node? Which parts of the dictionary (or both) should go into the keys/values text boxes give the example "{testRequestecho: {stuff: "more stuff"}}"?
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Jennifer Durina
Appian Employee
over 9 years ago
The values should go in the data tab of the smart service. The last input will be the first part of your dictionary, and the subfield will be the second. Set "more stuff" in the value field for the child. A lot less typing, but it's the same idea.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
>