Peter,

I don't know anything about the IWS but I think from what you've posted you are perhaps confusing two different ways of specifying parameters in the URL. One method is to use query parameters, which follow the question mark at the end of the URL, e.g. /customers?id=1234&order=1 The second method is to specify the parameters as part of the URL itself, so /customers/1234/orders/1

The first method is considered bad practice in a RESTful API when it is used to help identify the resource which you are requesting (here customer 1234 and order 1), it should normally only be used in a RESTful API to add further, refining information to the request, such a page numbers and filtering, /customers/1234/orders/1?page=1&sort=name

Looking at your pattern, /{email}{casenbr ^[0-9]+$} you are trying to specify URL type parameters but actually attempting to use query type parameters. In any case, as Nadir says, the pattern won't work because there's no way to delimite the email address and case number, what you probably need is something like this:

/email/{email}/casenbr/{casenbr ^[0-9]+$}

Which would then mean your requesting URL should be /lab_repair/email/address@xxxxxxxxxxx/casenbr/1234567

Tim.




________________________________
From: WEB400 <web400-bounces@xxxxxxxxxxxxxxxxxx> on behalf of Peter Dow <petercdow@xxxxxxxxx>
Sent: 14 January 2019 17:22
To: web400@xxxxxxxxxxxxxxxxxx
Subject: Re: [WEB400] Using REST service created with IWS

I'm not sure what you mean. If the URL is

https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2F1.2.3.4%3A10010%2Fweb%2Fservices%2Flab_repair%3Femail%3Daddress%2540example.com%26casenbr%3D1234567&amp;data=02%7C01%7C%7C9d968b72d3734f863cb408d67a3c867c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636830797697135942&amp;sdata=v9Kpz9m6T9TAELgnUrqygahvUQn%2B%2BeeGkUJz7wI%2BHwM%3D&amp;reserved=0

the parameter name is right there in the URL.

If that's incorrect, what should the URL look like?



On 1/14/2019 7:11 AM, Nadir Amra wrote:
Hi Peter, yes, I know how the gui figures out the parameters, but there is
no way to determine the email and the casenbr for any URL specified the
way you currently define the parameters.

"WEB400" <web400-bounces@xxxxxxxxxxxxxxxxxx> wrote on 01/11/2019 04:33:00
PM:

From: Peter Dow <petercdow@xxxxxxxxx>
To: web400@xxxxxxxxxxxxxxxxxx
Date: 01/11/2019 04:33 PM
Subject: Re: [WEB400] Using REST service created with IWS
Sent by: "WEB400" <web400-bounces@xxxxxxxxxxxxxxxxxx>

Hi Nadir,

Thanks for responding -- this was my first time using IWS and I was
following your article (at least I'm guessing you're the same Nadir
Amra) at
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fibmi%2Flibrary%2Fi-rest-web-services-&amp;data=02%7C01%7C%7C9d968b72d3734f863cb408d67a3c867c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636830797697135942&amp;sdata=K4JDeU86JS4LlikCJCCaoIJUmClEIUajEmfZT01qMYA%3D&amp;reserved=0
server2/index.html.
And I remember wishing you'd had an example with more than one parameter
:)
I'm guessing it figures it out by the braces - {} as it does not seem to
have a problem figuring it out. When it shows the parameters for the
method, it separates them in the drop down for the "Identifier" column
of the Input Parameter Mappings:

Input parameter mappings:
Parameter name Data type Input source Identifier Default
Value
PEMAIL char *PATH_PARAM email *NONE
PCASENBR zoned *PATH_PARAM casenbr ^[0-9]+$ *NONE

--
*Peter Dow* /
Dow Software Services, Inc.
909 793-9050
petercdow@xxxxxxxxx <mailto:petercdow@xxxxxxxxx>
pdow@xxxxxxxxxxxxxx <mailto:pdow@xxxxxxxxxxxxxx> /

On 1/11/2019 11:29 AM, Nadir Amra wrote:
The one thing I am confused about is how the app server is to
determine
when email starts and casenbr begins.

You may need to put some sort of delimiter between the variables. Like

/{email}-{casenbr ^[0-9]+$}


"WEB400" <web400-bounces@xxxxxxxxxxxxxxxxxx> wrote on 01/11/2019
01:06:15
PM:

From: Peter Dow <petercdow@xxxxxxxxx>
To: web400@xxxxxxxxxxxxxxxxxx
Date: 01/11/2019 01:08 PM
Subject: [WEB400] Using REST service created with IWS
Sent by: "WEB400" <web400-bounces@xxxxxxxxxxxxxxxxxx>

On a v7r3 Power8 box, I used IBM Web Administration for i to create
an
Application server called LAB_REPAIR (v2.6 web services).

It's based on a service program, RT0200S that has 2 procedures,
ADDCASE
and GETCASESTATUS. Right now I'm focused on the latter,
GETCASESTATUS.
It has 2 parameters, email and casenbr. Email is defined as
fixed-length 100a and casenbr is zoned decimal 7.0.

The base resource URL (using ip address for the time being; this is
on a
private LAN only) is

INVALID URI REMOVED.
4-3A10010_web_services_lab-5Frepair&d=DwIGaQ&c=jf_iaSHvJObTbx-
siA1ZOg&r=1i-jGlz0-JTK1aLHcsU-

ew&m=CCNDKmimbua65OnLAg5ajuhqmW1RUNgUU60YIV1cBPE&s=zDfiqyOfNRaGH9IFEeyWioXMwEUqOaDmlMC0Y9of--0&e=
The GETCASESTATUS procedure is associated with the http GET request:

Procedure name: GETCASESTATUS
HTTP request method: GET
URI path template for method: /{email}{casenbr ^[0-9]+$}
HTTP response code output parameter: *NONE
HTTP header array output parameter: *NONE
Allowed input media types: *ALL
Returned output media types: *XML
Input parameter mappings:
Parameter name Data type Input source Identifier Default
Value
PEMAIL char *PATH_PARAM email *NONE
PCASENBR zoned *PATH_PARAM casenbr ^[0-9]+$
*NONE

The service is created and running, and the question is, what URI do
I
use to test it?

When I trythe following uri in a browser

INVALID URI REMOVED.

4-3A10010_web_services_lab-5Frepair-3Femail-3Daddress-2540example.com-26casenbr-3D1234567&d=DwIGaQ&c=jf_iaSHvJObTbx-
siA1ZOg&r=1i-jGlz0-JTK1aLHcsU-

ew&m=CCNDKmimbua65OnLAg5ajuhqmW1RUNgUU60YIV1cBPE&s=uK47m9ezZuWUJIH8HkSEyHCGy65_KsLeV_fZGjfUqoo&e=
I get an HTTP 404 response (not found).

I tried using SOAPui and got the same thing.

I'm new at this REST stuff and really new at SOAPUI, but this really
shouldn't be that hard. What am I missing?

--
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
list
To post a message email: WEB400@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: INVALID URI REMOVED

u=https-3A__lists.midrange.com_mailman_listinfo_web400&d=DwIGaQ&c=jf_iaSHvJObTbx-
siA1ZOg&r=1i-jGlz0-JTK1aLHcsU-

ew&m=rcKknnRRUBU8yw9hGaKc042ET2Jq0nTKecodpA1K3Oo&s=o9TNBicq_j5Tf84US2rMycT3iB2BtPXmH-49lTZQBFk&e=
or email: WEB400-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at INVALID URI REMOVED
u=https-3A__archive.midrange.com_web400&d=DwIGaQ&c=jf_iaSHvJObTbx-
siA1ZOg&r=1i-jGlz0-JTK1aLHcsU-

ew&m=rcKknnRRUBU8yw9hGaKc042ET2Jq0nTKecodpA1K3Oo&s=7bdJ2s1T2LPpqlDUzYtB6MCZShD415W9HB77bnRriZE&e=
.




--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&amp;data=02%7C01%7C%7C9d968b72d3734f863cb408d67a3c867c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636830797697135942&amp;sdata=6RSjnOBHMjY%2BJj7Bgb5AwzcFzvemCb4FeBaUMbOxm3A%3D&amp;reserved=0
or email: WEB400-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&amp;data=02%7C01%7C%7C9d968b72d3734f863cb408d67a3c867c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636830797697135942&amp;sdata=U22k%2F4Q%2FFm%2BOXwVxBpaeOGBho76X2mI%2FgUkgQjTesIg%3D&amp;reserved=0.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.