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



There are two problems here.

Looking at the source code, the problem is that you received back a
com.ibm.as400.access.IFSReturnCodeRep from your attempt to exchange
attributes the AS/400 file server.  The problem is that the level of JTOpen
that you're dealing with is not prepared to handle a failed attempt to
exchange these attributes when that attempt returns an IFSReturnCodeRep
object.

If you upgrade to the latest JTOpen on the client side, it will decode the
IFSReturnCodeRep and put out a message like

  Unexpected IFSReturnCodeRep, return code xxxx

This will allow further diagnosis of what the underlying problem is.  If we
could see the trace and stack trace from the current version of JTOpen it
will help.

HTH,
Gary 

> -----Original Message-----
> From: java400-l-bounces@xxxxxxxxxxxx 
> [mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Daniel Feather
> Sent: Thursday, June 10, 2004 2:27 PM
> To: Java Programming on and around the iSeries / AS400
> Subject: ClassCastException in IFSFile
> 
> 
> Hello,
> I apologize ahead of time for the length of this e-mail:
> 
>       I am having an interesting problem, and I was wondering if any
> of you have run across it and if you were able to fix it.
> 
>       I keep getting a ClassCastException when using the Toolbox to
> connect to a V5R1 system using an IFSFile. I get the same 
> error whether
> I am trying to mkdirs() or check if the file .exists().
> 
>       I have found one other person that has had this problem and they
> posted about it in the JTOpen forums. However, a true resolution was
> never discovered. The problem just went away after an update of their
> TCP configuration.
> 
> The original post is here:
> http://www-912.ibm.com/j_dir/JTOpen.nsf/8178b1c14b1e9b6b852562
> 4f0062fe9f
> /763E3292C49D375F86256DEF00600926?OpenDocument
> 
> I borrowed his example program and tweaked it to run my own trace. He
> was running his on the 400, I am running mine on a PC. Here is the
> program and the trace it gives me. If anyone has any idea at all I'd
> appreciate it a great deal!
> 
> I tried this with a couple old versions of JT400 and the new 
> JTOpen off
> the web site, and I get the same error.
> 
> I can run this code on many other machines connecting to 
> other 400's and
> I have no problem. The target as400 where this is happening is a v5r1
> system has the recent Java group PTF's and all that good stuff.
> 
> The only odd thing I can think of is that when testing this I was not
> able to update the jt400.jar on the 400 with the latest and greatest,
> only the one on the PC. So, those don't match. However, even when they
> do when I am using the older version, I get the exact same error, just
> different line numbers.
> 
> This is running with jdk version 1.4.2 on the PC, and 1.3.1 
> on the 400.
> The PC is a Win2k box.
> 
> Program:
> ==============================================================
> ==========
> ====
> import com.ibm.as400.access.AS400;
> import com.ibm.as400.access.IFSFile;
> import com.ibm.as400.access.Trace;
> 
> /**
>  * @author dfeather
>  * Type: JT400Test
>  * TODO: Add description of this type.
>  */
> public class JT400Test {
> 
>       /**
>        * 
>        */
>       public JT400Test() {
>               super();
>       }
> 
>       public static void main(String[] args) {
> 
>               AS400 as400 = null;
> 
>               try {
>                       as400 = new AS400("10.0.0.10",
> "xxxxxx","xxxxxx");
>                       Trace.setTraceDiagnosticOn(true);
>                       Trace.setTraceErrorOn(true);
>                       Trace.setTraceInformationOn(true);
>                       Trace.setTraceWarningOn(true);
>                       Trace.setTraceOn(true);
>                       if (as400 != null) {
> 
>                               as400.connectService(AS400.FILE);
>                               as400.connectService(AS400.COMMAND);
>                               as400.connectService(AS400.DATAQUEUE);
>       
> as400.connectService(AS400.RECORDACCESS);
> 
>                               String testDirPath = "/test/";
>                               IFSFile tmpDir = new IFSFile(as400,
> testDirPath);
>                               boolean dirsx = false;
>                               try {
>                                       dirsx = tmpDir.mkdir();
>                               }
>                               catch (java.io.IOException ex) {
>                                       System.out.println("Failed to
> create temporary directory [" + args[0] + 
> args[1].toLowerCase() + "]");
>                                       ex.printStackTrace();
>                                       dirsx = false;
>                               }
>                       }
>               }
>               catch (Exception ex) {
>                       System.out.println("Other Exception:");
>                       ex.printStackTrace();
>               }
>               finally{
>                       if(as400 != null){
>                               as400.disconnectAllServices();
>                       }
>               }
>               
>               System.exit(0);
>       }
> }
> ==============================================================
> ==========
> ====
> And here's the trace and exception:
> ==============================================================
> ==========
> ====
> Toolbox for Java - Version 5 Release 1 Modification level 0.6
> Thu Jun 10 13:14:39 CDT 2004  Connecting service:  0
> Thu Jun 10 13:14:39 CDT 2004  Setting up AS400 implementation object:
> Thu Jun 10 13:14:39 CDT 2004    Enable SSL connections: null
> Thu Jun 10 13:14:39 CDT 2004    Native optimizations allowed:  false
> Thu Jun 10 13:14:39 CDT 2004    Use threaded communications:  true
> Thu Jun 10 13:14:39 CDT 2004    User specified CCSID:  0
> Thu Jun 10 13:14:39 CDT 2004    Socket properties:
> com.ibm.as400.access.SocketProperties@1833955
> Thu Jun 10 13:14:39 CDT 2004  User ID: 'JHADOCIMG'
> Thu Jun 10 13:14:39 CDT 2004  Signing-on with prompting turned on.
> Thu Jun 10 13:14:39 CDT 2004  Validate security...
> Thu Jun 10 13:14:39 CDT 2004  Signing-on without prompting...
> Thu Jun 10 13:14:39 CDT 2004  Opening a socket to verify security...
> Thu Jun 10 13:14:39 CDT 2004  Loading browser security classes.
> Thu Jun 10 13:14:39 CDT 2004  Netscape browser security classes not
> loaded.
> Thu Jun 10 13:14:39 CDT 2004  IE browser security classes not loaded.
> Thu Jun 10 13:14:39 CDT 2004  Connecting to port mapper...
> Thu Jun 10 13:14:39 CDT 2004  Sending port mapper request...
> Thu Jun 10 13:14:39 CDT 2004  Receiving port mapper reply...
> Thu Jun 10 13:14:39 CDT 2004  Adding entry to Service Port 
> table: system
> 10.0.0.4, service as-signon, port 8476
> Thu Jun 10 13:14:39 CDT 2004  Opening socket to server...
> Thu Jun 10 13:14:39 CDT 2004  Setting socket options...
> Thu Jun 10 13:14:39 CDT 2004  Socket properties:
> Thu Jun 10 13:14:39 CDT 2004      Remote address: /10.0.0.4
> Thu Jun 10 13:14:39 CDT 2004      Remote port:  8476
> Thu Jun 10 13:14:39 CDT 2004      Local address: /10.0.0.165
> Thu Jun 10 13:14:39 CDT 2004      Local port:  1184
> Thu Jun 10 13:14:39 CDT 2004      Keep alive:  false
> Thu Jun 10 13:14:39 CDT 2004      Receive buffer size:  8192
> Thu Jun 10 13:14:39 CDT 2004      Send buffer size:  8192
> Thu Jun 10 13:14:39 CDT 2004      So linger:  -1
> Thu Jun 10 13:14:39 CDT 2004      So timeout:  0
> Thu Jun 10 13:14:39 CDT 2004      TCP no delay:  false
> Thu Jun 10 13:14:39 CDT 2004  Starting an inet socket to as-signon
> Thu Jun 10 13:14:39 CDT 2004  Sending signon server exchange
> client/server attributes request...
> Thu Jun 10 13:14:39 CDT 2004  Receiving signon server exchange
> client/server attributes reply...
> Thu Jun 10 13:14:39 CDT 2004    Server vrm:
> 00 05 01 00 
> Thu Jun 10 13:14:39 CDT 2004    Server level:   2
> Thu Jun 10 13:14:39 CDT 2004  Socket opened successfully.
> Thu Jun 10 13:14:39 CDT 2004  Retrieving encrypted password.
> Thu Jun 10 13:14:39 CDT 2004  Sending retrieve signon information
> request...
> Thu Jun 10 13:14:39 CDT 2004  Receiving retrieve signon information
> reply...
> Thu Jun 10 13:14:39 CDT 2004  Read security validation reply...
> Thu Jun 10 13:14:39 CDT 2004  Security validated successfully.
> Thu Jun 10 13:14:39 CDT 2004  Signon server reports CCSID:  37
> Thu Jun 10 13:14:39 CDT 2004  Sign-on completed.
> Thu Jun 10 13:14:39 CDT 2004  Sending end job data stream to signon
> server...
> Thu Jun 10 13:14:39 CDT 2004  Sending end signon server request...
> Thu Jun 10 13:14:39 CDT 2004  Service disconnected implementation:
> as-signon
> Thu Jun 10 13:14:39 CDT 2004  Establishing connection to 
> server: as-file
> Thu Jun 10 13:14:39 CDT 2004  Loading browser security classes.
> Thu Jun 10 13:14:39 CDT 2004  Netscape browser security classes not
> loaded.
> Thu Jun 10 13:14:39 CDT 2004  IE browser security classes not loaded.
> Thu Jun 10 13:14:39 CDT 2004  Connecting to port mapper...
> Thu Jun 10 13:14:39 CDT 2004  Sending port mapper request...
> Thu Jun 10 13:14:39 CDT 2004  Receiving port mapper reply...
> Thu Jun 10 13:14:39 CDT 2004  Adding entry to Service Port 
> table: system
> 10.0.0.4, service as-file, port 8473
> Thu Jun 10 13:14:39 CDT 2004  Opening socket to server...
> Thu Jun 10 13:14:39 CDT 2004  Setting socket options...
> Thu Jun 10 13:14:39 CDT 2004  Socket properties:
> Thu Jun 10 13:14:39 CDT 2004      Remote address: /10.0.0.4
> Thu Jun 10 13:14:39 CDT 2004      Remote port:  8473
> Thu Jun 10 13:14:39 CDT 2004      Local address: /10.0.0.165
> Thu Jun 10 13:14:39 CDT 2004      Local port:  1186
> Thu Jun 10 13:14:39 CDT 2004      Keep alive:  false
> Thu Jun 10 13:14:39 CDT 2004      Receive buffer size:  8192
> Thu Jun 10 13:14:39 CDT 2004      Send buffer size:  8192
> Thu Jun 10 13:14:39 CDT 2004      So linger:  -1
> Thu Jun 10 13:14:39 CDT 2004      So timeout:  0
> Thu Jun 10 13:14:39 CDT 2004      TCP no delay:  false
> Thu Jun 10 13:14:39 CDT 2004  Starting an inet socket to as-file
> Thu Jun 10 13:14:39 CDT 2004  Sending exchange random seeds request...
> Thu Jun 10 13:14:39 CDT 2004  Receiving exchange random seeds reply...
> Thu Jun 10 13:14:39 CDT 2004  Exchange of random seeds successful.
> Thu Jun 10 13:14:39 CDT 2004  Retrieving encrypted password.
> Thu Jun 10 13:14:39 CDT 2004  Sending start server request...
> Thu Jun 10 13:14:39 CDT 2004  Receiving start server reply...
> Thu Jun 10 13:14:39 CDT 2004  Server started successfully.
> Thu Jun 10 13:14:39 CDT 2004  Service connected: as-file
> Thu Jun 10 13:14:39 CDT 2004  run(): Waiting for reply...
> Thu Jun 10 13:14:39 CDT 2004  Connecting service:  2
> Thu Jun 10 13:14:39 CDT 2004  Establishing connection to server:
> as-rmtcmd
> Thu Jun 10 13:14:39 CDT 2004  Loading browser security classes.
> Thu Jun 10 13:14:39 CDT 2004  Netscape browser security classes not
> loaded.
> Thu Jun 10 13:14:39 CDT 2004  IE browser security classes not loaded.
> Thu Jun 10 13:14:39 CDT 2004  Connecting to port mapper...
> Thu Jun 10 13:14:39 CDT 2004  Sending port mapper request...
> Thu Jun 10 13:14:39 CDT 2004  Receiving port mapper reply...
> Thu Jun 10 13:14:39 CDT 2004  Adding entry to Service Port 
> table: system
> 10.0.0.4, service as-rmtcmd, port 8475
> Thu Jun 10 13:14:39 CDT 2004  Opening socket to server...
> Thu Jun 10 13:14:39 CDT 2004  Setting socket options...
> Thu Jun 10 13:14:39 CDT 2004  Socket properties:
> Thu Jun 10 13:14:39 CDT 2004      Remote address: /10.0.0.4
> Thu Jun 10 13:14:39 CDT 2004      Remote port:  8475
> Thu Jun 10 13:14:39 CDT 2004      Local address: /10.0.0.165
> Thu Jun 10 13:14:39 CDT 2004      Local port:  1188
> Thu Jun 10 13:14:39 CDT 2004      Keep alive:  false
> Thu Jun 10 13:14:39 CDT 2004      Receive buffer size:  8192
> Thu Jun 10 13:14:39 CDT 2004      Send buffer size:  8192
> Thu Jun 10 13:14:39 CDT 2004      So linger:  -1
> Thu Jun 10 13:14:39 CDT 2004      So timeout:  0
> Thu Jun 10 13:14:39 CDT 2004      TCP no delay:  false
> Thu Jun 10 13:14:39 CDT 2004  Starting an inet socket to as-rmtcmd
> Thu Jun 10 13:14:39 CDT 2004  Sending exchange random seeds request...
> Thu Jun 10 13:14:39 CDT 2004  Receiving exchange random seeds reply...
> Thu Jun 10 13:14:40 CDT 2004  Exchange of random seeds successful.
> Thu Jun 10 13:14:40 CDT 2004  Retrieving encrypted password.
> Thu Jun 10 13:14:40 CDT 2004  Sending start server request...
> Thu Jun 10 13:14:40 CDT 2004  Receiving start server reply...
> Thu Jun 10 13:14:40 CDT 2004  Server started successfully.
> Thu Jun 10 13:14:40 CDT 2004  Service connected: as-rmtcmd
> Thu Jun 10 13:14:40 CDT 2004  Connecting service:  3
> Thu Jun 10 13:14:40 CDT 2004  Establishing connection to 
> server: as-dtaq
> Thu Jun 10 13:14:40 CDT 2004  Loading browser security classes.
> Thu Jun 10 13:14:40 CDT 2004  Netscape browser security classes not
> loaded.
> Thu Jun 10 13:14:40 CDT 2004  IE browser security classes not loaded.
> Thu Jun 10 13:14:40 CDT 2004  Connecting to port mapper...
> Thu Jun 10 13:14:40 CDT 2004  run(): Waiting for reply...
> Thu Jun 10 13:14:40 CDT 2004  Sending port mapper request...
> Thu Jun 10 13:14:40 CDT 2004  Receiving port mapper reply...
> Thu Jun 10 13:14:40 CDT 2004  Adding entry to Service Port 
> table: system
> 10.0.0.4, service as-dtaq, port 8472
> Thu Jun 10 13:14:40 CDT 2004  Opening socket to server...
> Thu Jun 10 13:14:40 CDT 2004  Setting socket options...
> Thu Jun 10 13:14:40 CDT 2004  Socket properties:
> Thu Jun 10 13:14:40 CDT 2004      Remote address: /10.0.0.4
> Thu Jun 10 13:14:40 CDT 2004      Remote port:  8472
> Thu Jun 10 13:14:40 CDT 2004      Local address: /10.0.0.165
> Thu Jun 10 13:14:40 CDT 2004      Local port:  1190
> Thu Jun 10 13:14:40 CDT 2004      Keep alive:  false
> Thu Jun 10 13:14:40 CDT 2004      Receive buffer size:  8192
> Thu Jun 10 13:14:40 CDT 2004      Send buffer size:  8192
> Thu Jun 10 13:14:40 CDT 2004      So linger:  -1
> Thu Jun 10 13:14:40 CDT 2004      So timeout:  0
> Thu Jun 10 13:14:40 CDT 2004      TCP no delay:  false
> Thu Jun 10 13:14:40 CDT 2004  Starting an inet socket to as-dtaq
> Thu Jun 10 13:14:40 CDT 2004  Sending exchange random seeds request...
> Thu Jun 10 13:14:40 CDT 2004  Receiving exchange random seeds reply...
> Thu Jun 10 13:14:40 CDT 2004  Exchange of random seeds successful.
> Thu Jun 10 13:14:40 CDT 2004  Retrieving encrypted password.
> Thu Jun 10 13:14:40 CDT 2004  Sending start server request...
> Thu Jun 10 13:14:40 CDT 2004  Receiving start server reply...
> Thu Jun 10 13:14:40 CDT 2004  Server started successfully.
> Thu Jun 10 13:14:40 CDT 2004  Service connected: as-dtaq
> Thu Jun 10 13:14:40 CDT 2004  run(): Waiting for reply...
> Thu Jun 10 13:14:40 CDT 2004  Connecting service:  5
> Thu Jun 10 13:14:40 CDT 2004  Establishing connection to 
> server: as-ddm
> Thu Jun 10 13:14:40 CDT 2004  Loading browser security classes.
> Thu Jun 10 13:14:40 CDT 2004  Netscape browser security classes not
> loaded.
> Thu Jun 10 13:14:40 CDT 2004  IE browser security classes not loaded.
> Thu Jun 10 13:14:40 CDT 2004  Opening socket to server...
> Thu Jun 10 13:14:40 CDT 2004  Setting socket options...
> Thu Jun 10 13:14:40 CDT 2004  Socket properties:
> Thu Jun 10 13:14:40 CDT 2004      Remote address: /10.0.0.4
> Thu Jun 10 13:14:40 CDT 2004      Remote port:  446
> Thu Jun 10 13:14:40 CDT 2004      Local address: /10.0.0.165
> Thu Jun 10 13:14:40 CDT 2004      Local port:  1191
> Thu Jun 10 13:14:40 CDT 2004      Keep alive:  false
> Thu Jun 10 13:14:40 CDT 2004      Receive buffer size:  8192
> Thu Jun 10 13:14:40 CDT 2004      Send buffer size:  8192
> Thu Jun 10 13:14:40 CDT 2004      So linger:  -1
> Thu Jun 10 13:14:40 CDT 2004      So timeout:  0
> Thu Jun 10 13:14:40 CDT 2004      TCP no delay:  false
> Thu Jun 10 13:14:40 CDT 2004  Starting an inet socket to as-ddm
> Thu Jun 10 13:14:40 CDT 2004  Exchanging DDM security 
> information with a
> V4R2 or newer system.
> Thu Jun 10 13:14:40 CDT 2004  Sending DDM: V4R2 or newer 
> system: EXCSAT
> request...
> Thu Jun 10 13:14:40 CDT 2004  Receiving DDM: V4R2 or newer system:
> EXCSAT Reply...
> Thu Jun 10 13:14:40 CDT 2004  DDM: Running to V4R4 or newer system.
> Thu Jun 10 13:14:40 CDT 2004  Sending DDM: V4R4 or newer 
> system: ACCSEC
> request...
> Thu Jun 10 13:14:40 CDT 2004  Receiving DDM: V4R4 or newer system:
> ACCSEC reply...
> Thu Jun 10 13:14:40 CDT 2004  Retrieving encrypted password.
> Thu Jun 10 13:14:40 CDT 2004  Receiving DDM: V4R4 or newer system:
> SECCHK reply...
> Thu Jun 10 13:14:40 CDT 2004  DDM: V4R4 or newer system: SECCHK
> succeeded.
> Thu Jun 10 13:14:40 CDT 2004  DDM: Exchange of security attributes
> completed.
> Thu Jun 10 13:14:40 CDT 2004  Server started successfully.
> Thu Jun 10 13:14:40 CDT 2004  Service connected: as-ddm
> Thu Jun 10 13:14:40 CDT 2004  run(): Waiting for reply...
> Thu Jun 10 13:14:40 CDT 2004  Connecting service:  0
> Thu Jun 10 13:14:40 CDT 2004  Establishing connection to 
> server: as-file
> Thu Jun 10 13:14:40 CDT 2004  Reusing previous server object...
> Thu Jun 10 13:14:40 CDT 2004  Service connected: as-file
> Thu Jun 10 13:14:40 CDT 2004  Establishing connection to 
> server: as-file
> Thu Jun 10 13:14:40 CDT 2004  Reusing previous server object...
> Thu Jun 10 13:14:40 CDT 2004  Getting implementation VRM.
> Thu Jun 10 13:14:40 CDT 2004  Implementation VRM:
> 00 05 01 00 
> Thu Jun 10 13:14:40 CDT 2004  send and receive(): ...
> Thu Jun 10 13:14:40 CDT 2004  send(): send request...
> Thu Jun 10 13:14:40 CDT 2004  AS400Server.receive
> Thu Jun 10 13:14:40 CDT 2004  receive(): Reply not found. Waiting...
> Thu Jun 10 13:14:40 CDT 2004  run(): Reply received:
> com.ibm.as400.access.IFSReturnCodeRep@8001
> Thu Jun 10 13:14:40 CDT 2004  run(): Adding reply:  1
> Thu Jun 10 13:14:40 CDT 2004  run(): Notifying threads.
> Thu Jun 10 13:14:40 CDT 2004  run(): Threads notified.
> Thu Jun 10 13:14:40 CDT 2004  receive(): Valid reply found:  1
> Thu Jun 10 13:14:40 CDT 2004  run(): Waiting for reply...
> Other Exception:
> java.lang.ClassCastException
>         at
> com.ibm.as400.access.IFSFileDescriptorImplRemote.exchangeServe
> rAttribute
> s(IFSFileDescriptorImplRemote.java:262)
>         at
> com.ibm.as400.access.IFSFileDescriptorImplRemote.connect(IFSFi
> leDescript
> orImplRemote.java:203)
>         at
> com.ibm.as400.access.IFSFileImplRemote.mkdir0(IFSFileImplRemot
> e.java:123
> 8)
>         at com.ibm.as400.access.IFSFile.mkdir0(IFSFile.java:2021)
>         at com.ibm.as400.access.IFSFile.mkdir(IFSFile.java:2042)
>         at JT400Test.main(JT400Test.java:51)
> ==============================================================
> ==========
> ====
> 
> Thanks!
> 
> Dan Feather
> dfeather@xxxxxxxxxxxxx
> 
> 
> 
> NOTICE: This electronic mail message and any files 
> transmitted with it are intended exclusively for the 
> individual or entity to which it is addressed. The message, 
> together with any attachment, may contain confidential and/or 
> privileged information. Any unauthorized review, use, 
> printing, saving, copying, disclosure or distribution is 
> strictly prohibited. If you have received this message in 
> error, please immediately advise the sender by reply email 
> and delete all copies.
> 
> 
> 
> 
> --
> This is the Java Programming on and around the iSeries / 
> AS400 (JAVA400-L) mailing list
> To post a message email: JAVA400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/java400-l
> or email: JAVA400-L-request@xxxxxxxxxxxx
> 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.