Platform
Learn
Community
Support
Partner Center
Sign up
or
Log in
logout
Account Settings
Profile
messages
Messages
logout
Logout
Platform
Home
Downloads
IPP
Licensing
Project Sizing
Learn
Training
Documentation
Evaluation Guide
What's New
Community
Home
Forums
Forge
Ideas
Members
Support
Partner Guide
Resources Library
Opportunities
Account Management
Sign up
or
Log in
Home
Forums
Forge
Ideas
Members
Dear ,
What would improve your OutSystems Community experience? Let us know by taking this 2-minute survey.
Pick up the survey
Community
›
Forums
›
Technology & Integration
BUG FOUND? REST Expose - Unable to output JSON content response (http status 401)
Community
›
Forums
›
Technology & Integration
BUG FOUND? REST Expose - Unable to output JSON content response (http status 401)
New Post
New Post
- -
Posted on 2016-01-14
- -
Rank: #12
Posted on 2016-01-14
Whats going on here?
If you set the HTTP status code to 401 via HTTPRequestHandler.SetStatusCode Outsystems will not return your JSON response, instead it return the standard 401 response with the following html (your JSON response is never used)
----------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
<h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
</fieldset></div>
</div>
</body>
</html>
----------------
Now, if you change the status code to something else, example http status code: 403
You will get the correct JSON response via content body.
{
"Response": {
"Success": false,
"Timestamp": "2016-01-14T03:47:39Z",
"Build": "1.0.0",
"Errors": [
{
"Code": "1001",
"Type": "access_denied",
"Message": "Error validating gateway token.",
"Property": "GatewayToken"
}
],
"Message": "Error validating gateway token.",
"Language": "en-AU"
}
}
João Rosado
Posted on 2016-01-14
João Rosado
Rank: #13
Posted on 2016-01-14
Solution
Hi Robert,
It's a known limitation caused by IIS in classic mode. IIS replaces the response content regardless of anything else. (and none of the 100+ workarounds that you will find by googling actually work correctly in IIS classic mode).
Since Integrated Mode is currently not supported by the Platform, I recommend you to stick with status code 400 even though it has a slighty different meaning.
Regards,
João Rosado
Solution
- -
Posted on 2016-01-14
- -
Rank: #12
Posted on 2016-01-14
Solution
joao, thanks.
Solution
Quick Reply
attachment
Choose File
No file chosen
Submit
Login to reply
New Post
Available Forums
Technology & Integration
News and Announcements
Forge Discussions
Meta
Community Quick Guides
Usability
Installation Troubleshooting
Personal Environment Troubleshooting
Forum Notifications
Email Digest Settings
Loading...