Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

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

...

The getFishTicketNumbers() takes four five arguments:

  1. String Userid – i.e "amarx"
  2. String password – i.e. "A_marx"
  3. String schemaVersionNumber – i.e. "2.1"
  4. String numberOfNumbersRequested operationId - i.e. "101"
  5. String reportType – numberOfNumbersRequested - i.e. "C" or "" – THIS FIELD'S DATA HAS NO EFFECT10" 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.
There are several reportTypes available for use:

  1. "C" = Crab
  2. "G" = Groundfish
  3. "B" = Salmon

Note: Currently, elandings web service logic does not use the reportType. Any String value passed in will be accepted and discarded. It will have no effect on how the numbers are retrieved or reserved in the databaseIf 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", "101", "C10");
If the web service call was successful you might see a string containing something like:

...