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



Hi everyone
Well - I made the change that Scott suggested
Tested the service program on the AS/400 - it did as it should
Then went through the same routine in deploying the service
Reached as far as step 5 for input parameter mappings
Hit the same problem
Input source on the second parameter reverted to the same identifier as the first parameter

Looks like I need that PTF installed that Nadir mentioned
May have to wait a while though

Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
‘If you're going through hell, keep going.’
Winston Churchill


-----Original Message-----
From: Alan Shore
Sent: Tuesday, December 11, 2018 3:39 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: RE: [EXTERNAL] Re: Question concerning Integrated Web Services

Thanks Peter
Been killing myself trying to work out what the problem was One dope slap to me

Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
‘If you're going through hell, keep going.’
Winston Churchill


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Peter Dow
Sent: Tuesday, December 11, 2018 3:31 PM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: [EXTERNAL] Re: Question concerning Integrated Web Services

Hi Alan,

Your modified procedure declaration still includes a return value, unlike Scott K's example.  Scott's procedure has no return value, just an additional parameter named "Result" which is then specified as an output parameter to IWS.

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

On 12/11/2018 11:30 AM, Alan Shore wrote:
Hi
Those drumbeats you are hearing - are NOT drumbeats Its me banging my
head on the desk I pulled back my service module and my service
program Removed the RTNPARM

It was
dcl-pr GetCustInf LikeDS(CustInfo)
RTNPARM;
inCstDiv packed(2:0) const;
inCstNbr packed(9:0) const;
end-pr;
and

dcl-pi GetCustInf LikeDS(CustInfo)
RTNPARM;
inCstDiv packed(2:0) const;
inCstNbr packed(9:0) const;
end-pi;

changed to
dcl-pr GetCustInf LikeDS(CustInfo);
inCstDiv packed(2:0) const;
inCstNbr packed(9:0) const;
end-pr;
and

dcl-pi GetCustInf LikeDS(CustInfo);
inCstDiv packed(2:0) const;
inCstNbr packed(9:0) const;
end-pi;

NOW it wont compile
I put the RTNPARM back in
It compiles

When it doesn’t compile - the error is
*RNF0320 30 1 Errors were found while generating the program information to
be placed in the module.

But no actual errors in the listing
So I run DSPJOBLOG to see if anything is there and all I see is
Compilation stopped. Severity 30 errors found in program.

When I place the cursor on that and press F1 This is all I get
Additional Message Information

Message ID . . . . . . : RNS9308 Severity . . . . . . . : 50
Message type . . . . . : Completion
Date sent . . . . . . : 12/11/18 Time sent . . . . . . : 14:15:49

Message . . . . : Compilation stopped. Severity 30 errors found in program.
Cause . . . . . : The RPG compiler found at least one error in the program
of severity greater than that specified in the GENLVL option on the
CRTRPGMOD or CRTBNDRPG command.
Recovery . . . : Correct the errors in the program. Compile again.


But I have no idea what the error is




Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
‘If you're going through hell, keep going.’
Winston Churchill


-----Original Message-----
From: Alan Shore
Sent: Tuesday, December 11, 2018 2:05 PM
To: midrange-l@xxxxxxxxxxxx
Subject: RE: [EXTERNAL] Re: Question concerning Integrated Web
Services

Hi Scott
Thanks for the reply

Let me give that a go and see what happens

All of this is brand new to me - exciting - but being the pathfinder
in our company - exasperating when I come across such problems and
there no one to bounce ideas off, in the next cubicle

Now I know how Lewis and Clark felt
If they got lost - they couldn’t walk into the nearest deli and ask
for directions

Wait a minute - they were men
Men don’t ask for directions



Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
‘If you're going through hell, keep going.’
Winston Churchill


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Scott Klement
Sent: Tuesday, December 11, 2018 1:51 PM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: [EXTERNAL] Re: Question concerning Integrated Web
Services

Alan,

I don't see why the identifier name matters?

To test this, I put together a quick program like this (I know the
return values aren't useful in a business context, it was just to see
if the web service worked)

**free

ctl-opt nomain option(*srcstmt) pgminfo(*pcml:*module);

dcl-proc GetStringForDivCust export;

   dcl-pi *n;
     division packed(2: 0) const;
     customer packed(9: 0) const;
     Result   char(100);
   end-pi;

   select;
   when division=1 and customer=1000;
      result = 'Data to test result here';
   when division=2 and customer=2000;
      result = 'Other test data here';
   other;
      result = 'Customer/Division not found';
   endsl;

end-proc;

Then, I deployed this web service by setting "division" and "customer"
as input, and "result" as output.

resource name: divcust
path template: /{incstdiv:\d+}/{incstnbr:\d+}

Division is *PATH_PARAM and identifier INCSTDIV Customer is
*PATH_PARAM and identifier INCSTNBR

Worked perfectly for me, no errors.   The only thing I can think of is that you're using RTNPARM and a return value rather than parameters, which seems like an odd thing to do.  Remember, the input/output of a web service comes via the URL or from a document such as JSON or XML. Why would you use a feature like RTNPARM saying "use a return value but make it really be a parameter under the covers".  That's really confusing, and there's no real notion of that concept in other programming languages, which makes this a real headache.

Just use parameters, as I have above, and this should work fine.  It did for me.



On 12/11/2018 12:33 PM, Alan Shore wrote:
Hi Scott
Apologies - first of all - misspelt it - it should be RTNPARM Which
has nothing to do with IWS I was just having an exasperated moment
trying to go past the problem I was having where the identifier name
being swapped out


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com

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.