Skip to Main Content
IBM Power Ideas Portal


This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Delivered
Workspace IBM i
Categories Db2 for i
Created by Guest
Created on Sep 28, 2018

DB2 HTTP Consumer Functions (Verbose) are suppressing response messages if the http error code is different than 2xx

If the HTTP Response Code is 3xx or 4xx the (Verbose) HTTP Consumer Functions of DB2 /i are ignoring the response message from the service - the response header ist deliverd - but response message is NULL.


Use Case:

To enable the best user experience for your customer, it is necessary on the part of the developers to make excellent error messages that can help their client to know what they want to do with the information they get. An excellent error message is precise and lets the user know about the nature of the error so that they can figure their way out of it.

A good error message also allows the developers to get their way out of the failed call.

Next step is to know what error messages to integrate into your framework so that the clients on the end point and the developers at the server are constantly made aware of the situation which they are in. in order to do so, the rule of thumb is to keep the error messages to a minimum and only incorporate those error messages which are helpful.
Lot of Services deliver extended error information which cannot be accessed by HTTPPOSTCLOBVERBOSE etc. because the function are just ignoring them.
Please refer also to:
https://blog.restcase.com/rest-api-error-codes-101/


Idea priority Medium
  • Guest
    Reply
    |
    May 14, 2020

    IBM believes that the request described already has a solution.

    This behavior is currently available by specifying -- includeErrorMsg="true" -- in the HTTP header. Here is an example of this working using the JDBC client included in jt400.jar.

    -- BEGIN EXAMPLE ---------------------------------------------------------
    -- This starts QSH
    QSH

    -- This runs the JDBC program
    java -jar /qibm/proddata/os400/jt400/lib/jt400.jar jdbc:as400:localhost

    -- The response from the server include unicode characters. This setting is used to see meaningful output
    !showmixedux true

    -- This is a query that will fail with 404. This can also be run via Run SQL Scripts, but it is difficult to see the long output in that interface
    select * from table( systools.httpGetClobVerbose('http://www.google.com/notExist','')) x

    -- the result is
    RESPONSEMSG,RESPONSEHTTPHEADER




    Error 404 (Not Found)!!1
    <br/>*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% au<br/>to 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100%<br/>5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media<br/>screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.<br/>com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolutio<br/>n:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100%<br/>100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen a<br/>nd (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54<br/>dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}<br/>

    404. ThatUX''2019''s an error.

    The requested URL /notExist was not found on this server. ThatUX''2019''s all we know.
    ,Not Found

    *** Warning ***

    SQLState: 01H52
    Message: [SQL0462] Procedure or user-defined function HTTPGETCLOBVERBOSE in SYSTOOLS returned a warning SQLSTATE.
    Vendor: 462

    -- END EXAMPLE ---------------------------------------------------------