getFishTicketNumbers()

Users may be better served by using getFishTicketNumbers001() or getFishTicketNumbers002(). 

Reserves and returns one or more fish ticket numbers in the database for your user. Other users will not be given these numbers in their requests as they are reserved for your use. This is provided to help preserve id uniqueness of these fish ticket numbers.

All eLandings landings reports have one or more fish_ticket_numbers associated. There is one fish_ticket_number per CFEC permit holder on the landing report. Before assigning a fish_ticket_number to a new report, eLandings and all third-party users need to verify that the fish_ticket_numbers that they assign are not already in use. Otherwise, previous report data will be lost and new report data may be corrupted. There is a risk in using this method, that previously assigned tickets can be reused. It is recommended for this reason that you use getFishTicketNumbers001() or getFishTicketNumbers002()

For example:
A landing report is created by userid=Bob and the landing report is assigned fish_ticket_number = 1000
A landing report is created by userid=Joe and the landing report is assigned fish_ticket_number =1000

The header information for the record created by Bob will be replaced by the header information created by Joe. If Bob's report had more permit items than Joe, then Joe's report might contain his line items and Joe's permit items. Bob will be angry at eLandings and at Joe.
To avoid this situation in eLandings situations or in third-party tools, eLandings provides the means to get and reserve a list of fish_ticket_numbers in such a way than anyone else that asks for an available fish ticket number will not be provided with these reserved numbers. As long as everyone honors this rule, we can avoid collisions and data loss.

We cannot prevent users from illegally re-using a fish_ticket_number. eLandings allows users to save their changes. It is very hard to determine if a change should be labeled illegal reuse or normal user data changes.
This method returns a list of reserved fish ticket numbers as a string in XML format as defined by the XSD definition for number_info object in dataelements.xsd. If errors were encountered while retrieving the landing report in the web service, an empty number_info object will be returned containing a list of messages objects as defined by the dataelements.xsd definition for messages elements.

The getFishTicketNumbers() takes five arguments:

  1. String Userid – i.e "amarx"
  2. String password – i.e. "A_marx"
  3. String schemaVersionNumber – i.e. "2.1"
  4. String operationId - i.e. "1"
  5. String numberOfNumbersRequested - i.e. "10" or null

Each user is associated with one or more operation ID's. You can find a legal operation ID for a user by calling the web service getUserInfo() and examining the list of returned operations associated with the user profile.

If we pass in a numberOfNumbersRequested=10, we are asking for 10 new fish_ticket_numbers from the database that have never been used and will be reserved for our use. If null is passed in for numberOfNumbersRequested, the system will return all previously reserved tickets without adding new numbers to the list.

In the web service client we might auto generate a data structure by providing the web service url. In eLandings we use Java – JAX-WS and generated a structure called ReportManager.
ReportManagement ws;
...
...
String xml = ws.getFishTicketNumbers(userid, password, schemaVersionNumber, numberOfNumbersRequested, reportType);
Or
String xml = ws.getFishTicketNumbers("amarx", "A_marx", "2.1", "1", "10");
If the web service call was successful you might see a string containing something like:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<number_info>
    <schema_version>2.1</schema_version>
    <fish_ticket_number>E11 152461</fish_ticket_number>
    <fish_ticket_number>E11 152462</fish_ticket_number>
    <fish_ticket_number>E11 152463</fish_ticket_number>
    <fish_ticket_number>E11 152464</fish_ticket_number>
    <fish_ticket_number>E11 152465</fish_ticket_number>
    <fish_ticket_number>E11 152466</fish_ticket_number>
    <fish_ticket_number>E11 152467</fish_ticket_number>
    <fish_ticket_number>E11 152468</fish_ticket_number>
    <fish_ticket_number>E11 152469</fish_ticket_number>
    <fish_ticket_number>E11 152470</fish_ticket_number>
</number_info>