|
Sudah, I was going to try using inline comments to make your example work. I changed that idea... here is a copy that works. You are going on the right track, but there are some concepts you must understand. It is a bit different than traditional RPG. My coding practices are a bit different than yours, but I tried to write this using your standards as I saw them.You can tweek this to your application. I tried to comment enough to have you understand the logic behind this program... The problem with the java.lang.NoSuchMethodError: <init> means that the class you are trying to access is not in the classpath. H Thread(*SERIALIZE) H DftActGrp(*No) * * Constants * D URL C Const('java.net.URL') D STRING C Const('java.lang.String') D TESTURLSTRING C Const('http://www.hbs-inc.com') * * define the variables - RPG data types * D returnrpg S 9999A * * define the objects used in this program * D testUrl S O Class(*Java:URL) D returnstring S O Class(*Java:STRING) D teststring S O Class(*Java:STRING) * * define the java.lang.String constructor * D newString PR O ExtProc(*Java:URL:*Constructor) D 65535A Varying D Const * * define the java.net.URL constructor * D newUrl PR O ExtProc(*Java:URL:*Constructor) D O Class(*Java:STRING) * * define the java method java.net.URL.getHost() * returns a Java String object * D getHost PR O ExtProc(*Java:URL:'getHost') D Class(*Java:STRING) * * define the java.lang.String.getBytes() method * returns a byte array that is converted to an RPG Alpha data type * D toBytes PR 65535A ExtProc(*Java:STRING:'toBytes') D Varying * * create the first string object * C Eval teststring = newstring(TESTURLSTRING) * * create the URL object * C Eval testUrl = newUrl(teststring) * * return the host - the only parameter is the object to be used * for the getHost method call * C Eval returnstring = getHost(testurl) * * change the return string to an RPG data type * C Eval returnrpg = toBytes(returnstring) * C Return * ----- Original Message ----- From: <SRamanujan@sungardfutures.com> To: <java400-l@midrange.com> Sent: Thursday, October 31, 2002 10:08 AM Subject: Call method without parm I am new to java calls from rpgle. I was trying to validate a URL and get the server and port from the url using getHost and getPort methods. I could get up to URL constructor, but when I call the getHost I seem to have problems. I keep getting getHost call error or class error. I have pasted the code I used. I also wanted to know how to read a string returned I have used AS/400 alpha numeric in PR for return. But am not sure this will work. TIA, Sudha Sudha Ramanujan SunGard Futures Systems sramanujan@sungardfutures.com (312)577-6179 D Class C 'java.net.URL' D Class2 C 'url' * java method D gethost PR 100 ExtProc(*JAVA:Class2:'getHost') D STATIC D newString PR O ExtProc(*JAVA: D 'java.lang.String': D *CONSTRUCTOR) D Class(*JAVA:'java.lang.String') D byes 9999A Const Varying D newURL PR O ExtProc(*JAVA: D 'java.net.URL': D *CONSTRUCTOR) D Class(*JAVA:'java.net.URL') D surl O Class(*JAVA:'java.lang.String') D Const * curl is the input parm of url. c IF curl <> ' ' c Eval sUrl = newString(%trim(curl)) /* converts to string c Eval url = newURL(sUrl) /* converts to URL c ENDIF c Eval rtnText = gethost /* get server name. _______________________________________________ This is the Java Programming on and around the iSeries / AS400 (JAVA400-L) mailing list To post a message email: JAVA400-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/java400-l or email: JAVA400-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/java400-l.
As an Amazon Associate we earn from qualifying purchases.
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.