× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Yes I agree... why?
I was working on the proof of concept on the DB2 services for i before
deciding to use it. If not I will use our framework to do it which wraps up
HTTPAPI.

The reason why I chose DB2 services for i because you don't have to do much.
Only build the request you want (header / body), call the relevant DB2
service program (eg. HTTPGETCLOBVERBOSE) and handle it by declaring a
response clob and... eureka, your web service is triggered. :-)

This is my test program.

*Dcl-S lGetString Varchar(1000); *
*Dcl-S lHeader Varchar(1000); *
*Dcl-S lAuth Varchar(1000); *
*Dcl-S lBase64Auth Varchar(1000); *
*Dcl-S lResponseCode char(3); *
*Dcl-S lPos Uns(3); *
*Dcl-S lStart Uns(3); *

*Dcl-Ds Response qualified; *
* Body SQLTYPE(CLOB:32768); *

*lGetString = 'http://blablabla?filter=ABC <http://blablabla?filter=ABC>';*
*lAuth = 'username:password';
*
*lBase64Auth = STR_Base64Encode(lAuth);
*


*lHeader = '<httpHeader>';
*
*//lHeader += '<header name="Accept" value="application/json" />';
*
*lHeader += '<header name="Authorization" value="Basic ';
*
*lHeader += %trim(lBase64Auth) +'" />';
*
*lHeader += '<header name="Content-Type" value="application/json" />';
*
*lHeader += '</httpHeader>';
*

*EXEC SQL *
* SELECT * INTO :Response *
* FROM TABLE(SYSTOOLS.HTTPGETCLOBVERBOSE( *
* :lGetString, :lHeader )) *
* as GET; *

*lPos = %scan('HTTP/1.1 ':Response.Head); *
*lStart = %len('HTTP/1.1 ') + lPos; *
*lResponseCode = %subst(Response.Head:lStart:3); *

**inlr=*on; *

On 23 July 2016 at 15:41, Bradley Stone <bvstone@xxxxxxxxx> wrote:

Why would you expect to get data returned when the server is returning an
error?

As Aaron said, please post the request your making, URL, anything that will
give us a clue as to what you're doing.

Thanks!

Brad
www.bvstools.com

On Fri, Jul 22, 2016 at 4:42 PM, Eric <send2et@xxxxxxxxx> wrote:

Hi,

When I call HTTPPOSTCLOBVERBOSE and the result comes back is in a JSON
format. However, if it's HTTP 4xx or 5xx error, I can only get the header
data. The body returned is null.

Why is that?

I was hoping to retrieve the request_body also rather than just the
header
if there's an error.

Thanks.
Eric
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.


--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.