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