× 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 Bill,

Thanks for providing the technique. It may not apply to our scenario since we cannot provide a different WSDL. However I may consider using a similar approach to catch the limit before calling the invoke method. Thanks much!

Derek

-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Blalock, Bill
Sent: Thursday, November 05, 2009 1:10 PM
To: Java Programming on and around the iSeries / AS400
Subject: RE: ProgramCallBean invoke method exception

Derek:

I've been scratching my head and I think I recall now.

The iWAS generates the WSDL for the web service on the fly from the
processed PCML. It is a very minimal WSDL and doesn't include length
checking.

With the test web services client in the HTTP Admin console you can
capture the generated WSDL, tinker with it, and send that to your
partner which consumes the web services.

By editing the generated WSDL you can add length checking to limit the
strings to the maximum size of the fields defined in the PCML. Then the
consumer of your web service, if they use your tinkered WSDL, will catch
the length error before calling your web service.

This technique is only helpful if you can provided the "improved" WSDL
of your web service as a guide so the web consumer won't crash the web
service by providing faulty parameters.

Generating the WSDL is consistent with IBM's goal of providing a wizard
which enables a system administrator to expose an RPGLE service program
as a web service.

I talked to the developers a year and a half ago. They were
"considering" exposing the WSDL so it could be modified. I haven't seen
any changes.

If iWAS is going to stick with generating WSDL on the fly then it should
use all the information in the PCML, including the length of strings, to
generate the WSDL.

One thing you can do to improve the WSDL is to pretty up the PCML field
names. You can use field names with mixed case, perhaps longer than 10
characters (not sure of that one) to make the generated WSDL more
readable.

Regards
Bill Blalock




-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Derek Chow
Sent: Thursday, November 05, 2009 10:32 AM
To: Java Programming on and around the iSeries / AS400
Subject: RE: ProgramCallBean invoke method exception

Thanks, Bill! I tried your approach by removing the field length in the
data structure in the PCML definition, but still encountered the same
issue. It seems like I may need to do a bigger scope of modification if
I go with your approach. Not sure if I want to do that as we are running
out of time.

For now, I will monitor other returned parameter values, which are not
set, to determine any unknown exception. ... not an ideal solution but
should work.

Still I have no idea how to capture those exceptions from the invoke()
method of the IBM ProgramCallBean class.

Thanks,
Derek


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.