|
Dave, Good point. I made the changes (I also changed so that I will not write to the data queue if the length is 0). I have to test..but enough for this week. Testing to begin Monday :) Thanks for the help.. Mike ================================ ----- Original Message ----- From: Dave Wall <dawall@us.ibm.com> To: <java400-l@midrange.com> Sent: Friday, October 12, 2001 3:51 PM Subject: Re: Data Queue communication between RPG and Java > > I am pretty sure the Toolbox DQ code won't write an empty entry when it > creates the queue. Any chance the message and ID are zero length strings? > It looks like an entry would be written to the queue even though there is > no data. Record.getContents() returns a byte array. You could println the > length of the byte array to see if it is ever 0 bytes. > > David Wall > 553-5329 > AS/400 Toolbox for Java > > > > > "Mike Silvers" > <msilvers@hbs-inc. To: "Java 400-L" <java400-l@midrange.com> > com> cc: > Sent by: Subject: Data Queue communication between RPG and Java > java400-l-admin@mi > drange.com > > > 10/12/2001 02:01 > PM > Please respond to > java400-l > > > > > > Hi all.... > > I am experienceing a problem using data queue communications between an RPG > program and a java program. I have the java program running on a PC. The > java program connects to the AS/400 and writes to the data queue. The RPG > program is sitting on the data queue monitor API. The problem is that the > RPG program detects that a blank record was written to the data queue when > I > did not write a record at all. It almost seems like the java program is > writing a blank record when it creates the data queue object. Anyone else > experience this problem? > > My code is as follows: > > // Define the new data queue > > frd = new AS400FileRecordDescription(as400, pr.getResponseDataqPath() + > pr.getResponseDataq() + ".FILE"); > > try { > dqOutFormat = frd.retrieveRecordFormat()[0]; > dqOut = new DataQueue(as400, pr.getResponseDataqPath() + > pr.getResponseDataq() + > ".DTAQ"); > > System.out.println("OutDataQueue connection made to: " + > pr.getResponseDataqPath() + > pr.getResponseDataq() + ".DTAQ"); > > } catch (Exception e) { > System.out.println("*** OutDataQueue exception: " + e); > } > > // Send the data queue entry (only if it is 7 long) > > if ((id.length() <= 7) || (msg.length() <= 100)) { > recOut = dqOutFormat.getNewRecord(); > recOut.setField("PRERRMSGID", id); > recOut.setField("PRERRMSGTX", msg); > > System.out.println("Fields set with the values \n PRERRMSGID: " + > id + > "\n PRERRMSGTX: " + msg); > > try { > dqOut.write(recOut.getContents()); > > System.out.println("\nData Structure written to: " + dqOut.getPath > () > + > dqOut.getName()); > > } catch (UnsupportedEncodingException uec) { > System.out.println("OutDataQueue exception: " + uec); > } catch (ObjectDoesNotExistException ode) { > System.out.println("OutDataQueue exception: " + ode); > } catch (CharConversionException cc) { > System.out.println("OutDataQueue exception: " + cc); > } catch (InterruptedException ie) { > System.out.println("OutDataQueue exception: " + ie); > } catch (IllegalObjectTypeException iet) { > System.out.println("OutDataQueue exception: " + iet); > } catch (IOException ioe) { > System.out.println("OutDataQueue exception: " + ioe); > } catch (ErrorCompletingRequestException ecr) { > System.out.println("OutDataQueue exception: " + ecr); > } catch (AS400SecurityException se) { > System.out.println("OutDataQueue exception: " + se); > } > > } else { > System.out.println("OutDataQueue error: length of DTAQ entry. The " + > "required length of the message ID is 7 or less. \nThe current " > + > "length is " + id.length() + ". \nThe length of the message text > is: > " + > msg.length() + "." ); > } > > Thanks! > > Mike > > ================================ > > Mike Silvers > AS/400 Senior Programmer/Analyst > AS/400 IBM Certified RPG IV Developer > AS/400 IBM Certified Expert > Hainey Business Systems > 8 E. Canal St > Dover, PA 17315 > Branch Office: (410) 397-8739 > Phone: (800) 932-3380 > Fax: (717) 292-9474 > Web: http://www.hbs-inc.com > ________________________________ > Providing E-Commerce, EDI, AS/400 > Development and related services > nationwide. > ================================ > > > _______________________________________________ > 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. > > > > > > _______________________________________________ > 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.