This plug-in is deprecated, unmaintained and no longer recommended for use. Refactor applications utilizing the functionality of this component to use alternatives. The functionality is available in Appian (without a plug-in) using the Integration Object.
Contains multiple Smart Services and Custom Functions which allow you to send an HTTP Request to an endpoint.
Supported request types are:
Examples use cases include:
Hi Tammy Tang
Please provide inputs for reproducing the issue.
Hi I run into an error is given by this plug-in as shown below: 2019-11-14 09:18:25,986 [Appian Work Item - 617963 - execution02 : UnattendedJavaActivityRequest] ERROR com.appiancorp.util.HttpPostRequestWithDocumentsHandler - Error sending a multipart post requestjava.net.SocketTimeoutException: Read timed outHas anyone had the same error before?Another issue also spotted that the plug-in version is still using the old name as Web And XML Extensions (v5.4.2) even after upgraded to the latest SendHttpRequest v5.5.0. Is it a known behavior? Thanks in advance.
akshaiv138 The function will only return the response body from the API endpoint. That is why you are receiving null as an output. If you want to receive the response code, body, header and error message, Please use smart service instead of function.
For testing, create a hello world template Web API in Appian and use your Appian login credentials from TPC. If this does not help your question, let us know.
Now the response that I get is null from the function. Is that expected? The Smart Service that I used in the process model seems more promising because there I atleast get the 401 error even though I have provided the scskey. Anyway to solve either of these two issues?
akshaiv138 It seems like the issue is with the source code which we took for enhancement. But I can provide you with the fix. The function httpgetwithscs requires endpoint, paramNames, paramValues, headerNames and headerValues parameters. So you can send {} (null) to the other required parameters than endpoint.For example:
httpgetwithscs(
endpoint: "">api.someendpoint.com/.../processes",
paramNames: {}, paramValues: {}, headerNames: {}, headerValues: {},
scsKey: "scsKeyFromTheTPC"
)
Let me give examples:
For the function:
endpoint:"https://api.someendpoint.com/v1/processes"
The above function errors out without any exception text.
For the smart service "Send Http Request With SCS"
Endpoint: "https://api.someendpoint.com/v1/processes"
Method: "GET"
Secure Cred Store Key: "scsKeyFromTheTPC"
The above smart service gives a 401 error.
I have added the smart service to the list of smart services that can access the TPC.
Am I missing anything here?
akshaiv138 The pdf in the package is about the issue in the previous version and it is fixed in the current version. If you like to use SCS in the plugin, the field name in SCS should be set to `username` and `password`. So that plugin will take the Username and Password appropriately. Also, you need to add `Web And XML Extensions` to the Plug-ins List of SCS.
Please refer to the Release Notes.txt in the package. I hope this will help with your issue. If this does not help your question, let me know.
So the only thing that I am seeing in the smart service package is the pdf that details out certain issues faced and its solutions. I am yet to try out the Smart Service in the PM, that's only because I am using the functions. For example using httpgetwithscs() errors out with the endpoint and the scs key and there is no way I can find out what the error is and solve it. I have checked the logs too. What I need is somewhat detailed examples on how we can use these functions, if that's not too much trouble
akshaiv138 you need an open API to be able to test this smart service and can try out the different methods/requests types mentioned in the description. It also supports NTLM authentication and SCS access.
Examples of use cases are also added, which will give you some idea. I will suggest you drag and drop the smart service in the process model and check for the parameter. If this does not answer your question, let me know.
How do you use this? Can we have some examples in the documentation?