Hi Experts,
I'm trying to add validation on my Appian Portal Page which doesn't support Regex Functions and hence I have created a Web API which is validating weather entered IP is valid or not and calling it on the UI using an Integration Object, when I test the API using Postman, I receive the correct response. However, when I use Appian's Integration Object to call the same API, the response body comes back without any value.
Valid Test Value: "1.1.1.1"
Postman Response:
{ "ipInfo": true }
Appian Response:
HTTP/1.1 200 200 Date: Thu, 02 Jan 2025 13:43:42 GMT Content-Type: text/html;charset=UTF-8 Connection: keep-alive Server: Apache Strict-Transport-Security: max-age=31536000; includeSubdomains; preload Cache-Control: private X-Trace-Id: a1956c41e9dd44f6226e475d8d145803 Referrer-Policy: strict-origin-when-cross-origin X-Frame-Options: SAMEORIGIN Content-Security-Policy-Report-Only: style-src 'unsafe-inline' 'self' https://web-assets.appian-cdn.com; child-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://web-assets.appian-cdn.com; object-src https:; frame-src https:; img-src https:; default-src 'self'; font-src 'self' https: data:; report-to /suite/rest/a/logging/latest/csp/report; Content-Security-Policy: report-to /suite/rest/a/logging/latest/csp/report; Vary: Accept-Encoding Set-Cookie: JSESSIONID=E39CE1C3B5B14568DBD7ADBC0B200225.node1; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:10 GMT; Path=/suite; Secure; HttpOnly; SameSite=None; Partitioned; HttpOnly Set-Cookie: JSESSIONID=E39CE1C3B5B14568DBD7ADBC0B200225.node1; Path=/suite; Secure; HttpOnly; SameSite=None; HttpOnly X-Robots-Tag: none X-XSS-Protection: 1; mode=block <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <link rel="stylesheet" href="https://web-assets.appian-cdn.com/YWUtMjQuMy40NTAuMA/portal/css/banner.css?appian_environment=tempo" type="text/css" /> <script type="text/javascript"> var hasSiteWideBanner = "true"; if (window.APPIAN) { window.APPIAN.bannerInfo = { hasSiteWideBanner: hasSiteWideBanner === 'true', bannerMessage: "###TESTSERVER###dev", bannerColor: "#666666", bannerTextColor: "#ffffff" }; } </script> <html lang="en" dir=""> <head> <!-- IMPORTANT: this cannot have any style/script between it and the top of the head! IE requires it to handle versions properly. See http://www.modern.ie/en-us/performance/how-to-use-x-ua-compatible for more --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="content-type" content="text/html" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" href="https://web-assets.appian-cdn.com/YWUtMjQuMy40NTAuMA/portal/css/standard_styles_static.css?appian_environment=tempo" type="text/css" /> <script type="text/javascript"> function isInIframe() { try { return window.self !== window.top; } catch (exception) { // if in cross-origin, cannot access window.top return true; } } </script> <link rel="stylesheet" href="https://web-assets.appian-cdn.com/YWUtMjQuMy40NTAuMA/portal/css/login.css?appian_environment=tempo" type="text/css" /> <link rel="shortcut icon" href="https://###TESTSERVER###dev.appiancloud.com/suite/rest/a/content/latest/branding/favicon/1660077611000" /> <style> body.appian-body { background: #ebf1f7; } body.appian-body.mobile-landing { background: #fff; } .appian-body .message { color: red; } .appian-body form .field input { color: #333; border-color: #ccc; } .appian-body .submitButton { background-color: #E8E8E8; border: 1px solid #B0B0B0; color: #333333; font-size: 11px; font-weight: bold; } .appian-body .login_background { background-color: #416b88; } .appian-body .login_box input[type=text]:focus, .appian-body .login_box input[type=password]:focus { border: 1px solid #1d659c; } .appian-body .button_box_links a:active { border-color: #1d659c; } .appian-body #back_link, .appian-body .button_box_links a, .appian-body .logoutForm #returnLink { color: #1d659c; } .appian-body .button_box_links a:hover, .appian-body .button_box_links a:focus { border-bottom: 1px solid #1d659c; color: #1d659c; } .appian-body .btn { color: #1d659c; border: 1px solid #1d659c; } .appian-body input.iBlueButton { border: 1px solid #1d659c; background-color: #1d659c; } .appian-body .btn.primary { background-color: #1d659c; } .appian-body .btn:active, .appian-body .btn:focus, .appian-body .btn:hover, .appian-body .choice_pair input[type=checkbox]:focus + label:before, .appian-body input.iBlueButton:active, .appian-body input.iBlueButton:focus, .appian-body input.iBlueButton:hover { box-shadow: 0 0px 5px #1d659c; } .appian-body input.iText:focus { border: 1px solid #1d659c !important; /* ASI styles using !important to set blue border color */ } .appian-body .logoutForm #returnLink:hover { border-bottom: 1px solid #1d659c } .appian-body #back_link:hover { color: #1d659c; border-bottom: 1px solid #1d659c; } .appian-body .choice_pair input[type=checkbox]:checked + label:before { background-color: #1d659c; border-color: #1d659c; } .appian-body .mobile_landing_links { color: #777; } .appian-body .mobile_landing_links a { color: #1d659c; } .appian-body a.mobile_landing_button.primary { color: #fff; background-color: #1d659c; } .appian-body a.mobile_landing_button.secondary { color: #1d659c; border: 1px solid #1d659c; } </style> <title>Appian for TELUS (Cloud)</title> </head> <body class="appian-body"> <div id="systemMessages" style="display: none"> <div role="banner" class="banner" title="###TESTSERVER###dev" style="background-color: #666666; color: #ffffff;"> <div class="banner_text"> ###TESTSERVER###dev </div> </div> </div> <script type="text/javascript"> if (!isInIframe()) { document.getElementById("systemMessages").style.display="block"; } </script> <div class="appian_logo"> </div> <div class="login_background"> </div> <div id="loginBox" class="login_box "> <div class="login_box_inner"> <div class="login_logo"> <img id="logo" src="https://###TESTSERVER###dev.appiancloud.com/suite/rest/a/content/latest/branding/logo/1660077611000" alt="Logo"/> </div> <div id="selfSelectionPrompt" class="selfSelectionPrompt">Use local or SSO login?</div> <div class="button_box_links wrap"> <div class="selfSelectionBlock"> <a href=/suite/webapi/isIPAddressValid?targetIp=1.1.1.1&signin=native> Local Login</a> </div> <div class="selfSelectionBlock"> <a href=/suite/webapi/isIPAddressValid?targetIp=1.1.1.1&signin=telus> SSO</a> </div> </div> </div> </div> <div id="copyright"> ©2003-2025 Appian Corporation </div> <link rel="stylesheet" href="https://web-assets.appian-cdn.com/YWUtMjQuMy40NTAuMA/portal/css/fonts/open-sans.css?appian_environment=tempo" type="text/css" /> </body> </html>
Invalid Test Values: "1.1..1"
{ "ipInfo": "Entered IP Addresses either Invalid or Private IP Addresses : 1.1..1" }
HTTP/1.1 200 200 Date: Thu, 02 Jan 2025 13:38:47 GMT Content-Type: text/html;charset=UTF-8 Connection: keep-alive Server: Apache Strict-Transport-Security: max-age=31536000; includeSubdomains; preload Cache-Control: private X-Trace-Id: 9fe1f66a83c2146ab13212fcbb7f72b9 Referrer-Policy: strict-origin-when-cross-origin X-Frame-Options: SAMEORIGIN Content-Security-Policy-Report-Only: style-src 'unsafe-inline' 'self' https://web-assets.appian-cdn.com; child-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://web-assets.appian-cdn.com; object-src https:; frame-src https:; img-src https:; default-src 'self'; font-src 'self' https: data:; report-to /suite/rest/a/logging/latest/csp/report; Content-Security-Policy: report-to /suite/rest/a/logging/latest/csp/report; Vary: Accept-Encoding Set-Cookie: JSESSIONID=B4D59D4F1C55293A4680DF7C4EB24A9F.node1; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:10 GMT; Path=/suite; Secure; HttpOnly; SameSite=None; Partitioned; HttpOnly Set-Cookie: JSESSIONID=B4D59D4F1C55293A4680DF7C4EB24A9F.node1; Path=/suite; Secure; HttpOnly; SameSite=None; HttpOnly X-Robots-Tag: none X-XSS-Protection: 1; mode=block <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <link rel="stylesheet" href="https://web-assets.appian-cdn.com/YWUtMjQuMy40NTAuMA/portal/css/banner.css?appian_environment=tempo" type="text/css" /> <script type="text/javascript"> var hasSiteWideBanner = "true"; if (window.APPIAN) { window.APPIAN.bannerInfo = { hasSiteWideBanner: hasSiteWideBanner === 'true', bannerMessage: "###TESTSERVER###dev", bannerColor: "#666666", bannerTextColor: "#ffffff" }; } </script> <html lang="en" dir=""> <head> <!-- IMPORTANT: this cannot have any style/script between it and the top of the head! IE requires it to handle versions properly. See http://www.modern.ie/en-us/performance/how-to-use-x-ua-compatible for more --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="content-type" content="text/html" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" href="https://web-assets.appian-cdn.com/YWUtMjQuMy40NTAuMA/portal/css/standard_styles_static.css?appian_environment=tempo" type="text/css" /> <script type="text/javascript"> function isInIframe() { try { return window.self !== window.top; } catch (exception) { // if in cross-origin, cannot access window.top return true; } } </script> <link rel="stylesheet" href="https://web-assets.appian-cdn.com/YWUtMjQuMy40NTAuMA/portal/css/login.css?appian_environment=tempo" type="text/css" /> <link rel="shortcut icon" href="https://###TESTSERVER###dev.appiancloud.com/suite/rest/a/content/latest/branding/favicon/1660077611000" /> <style> body.appian-body { background: #ebf1f7; } body.appian-body.mobile-landing { background: #fff; } .appian-body .message { color: red; } .appian-body form .field input { color: #333; border-color: #ccc; } .appian-body .submitButton { background-color: #E8E8E8; border: 1px solid #B0B0B0; color: #333333; font-size: 11px; font-weight: bold; } .appian-body .login_background { background-color: #416b88; } .appian-body .login_box input[type=text]:focus, .appian-body .login_box input[type=password]:focus { border: 1px solid #1d659c; } .appian-body .button_box_links a:active { border-color: #1d659c; } .appian-body #back_link, .appian-body .button_box_links a, .appian-body .logoutForm #returnLink { color: #1d659c; } .appian-body .button_box_links a:hover, .appian-body .button_box_links a:focus { border-bottom: 1px solid #1d659c; color: #1d659c; } .appian-body .btn { color: #1d659c; border: 1px solid #1d659c; } .appian-body input.iBlueButton { border: 1px solid #1d659c; background-color: #1d659c; } .appian-body .btn.primary { background-color: #1d659c; } .appian-body .btn:active, .appian-body .btn:focus, .appian-body .btn:hover, .appian-body .choice_pair input[type=checkbox]:focus + label:before, .appian-body input.iBlueButton:active, .appian-body input.iBlueButton:focus, .appian-body input.iBlueButton:hover { box-shadow: 0 0px 5px #1d659c; } .appian-body input.iText:focus { border: 1px solid #1d659c !important; /* ASI styles using !important to set blue border color */ } .appian-body .logoutForm #returnLink:hover { border-bottom: 1px solid #1d659c } .appian-body #back_link:hover { color: #1d659c; border-bottom: 1px solid #1d659c; } .appian-body .choice_pair input[type=checkbox]:checked + label:before { background-color: #1d659c; border-color: #1d659c; } .appian-body .mobile_landing_links { color: #777; } .appian-body .mobile_landing_links a { color: #1d659c; } .appian-body a.mobile_landing_button.primary { color: #fff; background-color: #1d659c; } .appian-body a.mobile_landing_button.secondary { color: #1d659c; border: 1px solid #1d659c; } </style> <title>Appian for TELUS (Cloud)</title> </head> <body class="appian-body"> <div id="systemMessages" style="display: none"> <div role="banner" class="banner" title="###TESTSERVER###dev" style="background-color: #666666; color: #ffffff;"> <div class="banner_text"> ###TESTSERVER###dev </div> </div> </div> <script type="text/javascript"> if (!isInIframe()) { document.getElementById("systemMessages").style.display="block"; } </script> <div class="appian_logo"> </div> <div class="login_background"> </div> <div id="loginBox" class="login_box "> <div class="login_box_inner"> <div class="login_logo"> <img id="logo" src="https://###TESTSERVER###dev.appiancloud.com/suite/rest/a/content/latest/branding/logo/1660077611000" alt="Logo"/> </div> <div id="selfSelectionPrompt" class="selfSelectionPrompt">Use local or SSO login?</div> <div class="button_box_links wrap"> <div class="selfSelectionBlock"> <a href=/suite/webapi/isIPAddressValid?targetIp=1.1..1&signin=native> Local Login</a> </div> <div class="selfSelectionBlock"> <a href=/suite/webapi/isIPAddressValid?targetIp=1.1..1&signin=telus> SSO</a> </div> </div> </div> </div> <div id="copyright"> ©2003-2025 Appian Corporation </div> <link rel="stylesheet" href="https://web-assets.appian-cdn.com/YWUtMjQuMy40NTAuMA/portal/css/fonts/open-sans.css?appian_environment=tempo" type="text/css" /> </body> </html>
Please suggest what might be causing this issue or if there's something I might be overlooking?
Discussion posts and replies are publicly visible