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



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