Actually I thought I sad that in an earlier post but I did it by retrieving the path info. i.e:

pathInfo = getEnv('PATH_INFO': qusec );

Works beautifully - except ...


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On May 17, 2017, at 8:54 PM, Henrik Rützou <hr@xxxxxxxxxxxx> wrote:

Jon

on "the old way" how did you get the second path name into the program? It
can't
be a part of the QUERY_STRING since it has to start with "?" so how did you
code
the call of the procedure in the CGI program?

On Thu, May 18, 2017 at 2:46 AM, Jon Paris <jon.paris@xxxxxxxxxxxxxx> wrote:

Yes - effectively a procedure in RESTSERV2 with the query string
representing the parms.

I guess I could try the rewrite and do it that way - but surely the
original should be workable.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On May 17, 2017, at 8:20 PM, Hiebert, Chris <
chris.hiebert@xxxxxxxxxxxxxx> wrote:

So in this case, what does quantityquery represent?

Is it supposed to be a procedure in RESTSRV2?

Or are you trying to rewrite the url to:

partner400.com/cgi/restsrv2?function=quantityquery&
partnum=0000011&quantity=5&partnum=0000011&quantity=5

If that's the case then you could try a rewrite rule just prior to your
scriptaliasmatch:

RewriteEngine On
RewriteRule ^/CGI/restsrv2/(.+)$ /CGI/restsrv2?function=$1 [QSA,PT]
ScriptAliasMatch ^/CGI/(.*) /QSYS.LIB/PARTNER400.LIB/$1.PGM


The QSA appends any current query string to the end of url, and PT the
new url to be passed back through URL mapping.


Chris Hiebert
Senior Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the
author and do not necessarily represent those of the company.


-----Original Message-----
From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon Paris
Sent: Wednesday, May 17, 2017 2:50 PM
To: Web400@Midrange. Web400 <web400@xxxxxxxxxxxx>
Subject: Re: [WEB400] Changes/Bugs in Apache?

I was as sure as I can be Chris. But I am beginning to doubt my sanity.

There are only two alias entries in that config file - one for regular
CGI and one for REST web services. I know I had both working. But ...

I am no longer chasing what obviously is not supposed to work and need
now to try and find a solution that will work.

I need to route to a program based on the first part of the URL and use
the main jury string for the parameters for the specific function so ...

partner400.com/cgi/restsrv2/quantityquery?partnum=0000011&
quantity=5&partnum=0000011&quantity=5

Should route to a program identified by "restsrv2" to invoke the
"quantityquery" (as opposed to price query, quantity reserve, etc.
functions) using the provided parts and quantities.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On May 17, 2017, at 3:04 PM, Hiebert, Chris <
chris.hiebert@xxxxxxxxxxxxxx> wrote:

The Apache server interprets that URL as
/QSYS.LIB/PARTNER400.LIB/RESTSRV1/PART1.PGM

Which is probably why you are having the issue.

Are you saying this actually worked on V7R1?

Chris Hiebert
Senior Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the
author and do not necessarily represent those of the company.


-----Original Message-----
From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon
Paris
Sent: Saturday, May 13, 2017 5:30 PM
To: Web400@Midrange. Com <web400@xxxxxxxxxxxx>
Subject: [WEB400] Changes/Bugs in Apache?

I have this directive in my Apache config (actually in the vhosts but
...)

ScriptAliasMatch ^/CGI/(.*) /QSYS.LIB/PARTNER400.LIB/$1.PGM

I have not changed it (honestly) and I am sure that it has been working
for years. This might be the first time I have used it since moving to V7R3.

When I try to use it with a REST web service (i.e. additional data in
the URL) I am getting very strange results.

This URL http://partner400.com/cgi/prodrpt2oa <
http://partner400.com/cgi/prodrpt2oa> works just fine and runs the script
correctly.

This one http://partner400.com/cgi/restsrv1/part1
<http://partner400.com/cgi/restsrv1/part1> gives

Not Found
The script request is not valid. The script is not executable.

The log indicates that no PGM object was identified. So just for
chuckles I added .pgm to the base URL i.e:
http://partner400.com/cgi/restsrv1.pgm/part1
<http://partner400.com/cgi/restsrv1.pgm/part1>

That works - kind of ... the correct routing takes place and the script
is called BUT the ".pgm" text then gets _added_ to the end of the URL. i.e.
"part1" is actually passed to the script as "part1.pgm". If I add a /
following "part1" then ".pgm" is seen as the next element in the path.

I've searched for PTFs on the topic but am seeing nothing.

Anyone got any ideas? This is an Apache feature that we use a lot and
the .pgm workaround will not work for some scripts. For example this URL
http://partner400.com/cgi/restsrv2.pgm/quantityquery/?
partnum=0000011&quantity=5 <http://partner400.com/cgi/
restsrv2.pgm/quantityquery/?partnum=0000011&quantity=5> tags the ".pgm"
onto the end of quantityquery <http://partner400.com/cgi/
restsrv2.pgm/quantityquery/?partnum=0000011&quantity=5> even when the
trailing / is present as shown.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

--
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.


--
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.


--
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.




--
Regards,
Henrik Rützou

http://powerEXT.com <http://powerext.com/>
--
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.