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