Problem selecting applet

Hi at all,
I try to get the wallet example running but I have no luck. Always I try to select the applet I get the errormessage that the file is not found or the selection failed.
Card Manager AID : A000000003000000
Card Manager state : OP_READY
Application: SELECTABLE (--------) "F234123456100001"
Load File : LOADED (--------) A0000000035350 (Security Domain)
Module : A000000003535041
Load File : LOADED (--------) "F234123456100000"
Module : "F234123456100001"
As you can see the applet is selectable and the aid is F23412345610001 but when I try to use the select command i get the error "file not found", if i try /select i get the error that the selection failed.
can anyone help me with this problem?
thanks
markus

Yes that's rite. Without the command you send and the output, it's a bit difficult to help.
But it seems that there should be some mistakes done in the command that is been sent to the card.
Thomas
link: http://jaccal.sourceforge.net/

Similar Messages

  • Exchanging APDU's with selected applet fails

    Hi all,
    1. I developed a cardlet( normal, sample one) using JCOP
    2. Installed, selected and excanged APDU's with this applet ( on Nokia 6212,6131 and JCOP cards)
    3. Now i tried it on a SE of SIM. In this case, installation and selection succeeds but exchanging APDU's with selected applet is partial. by 'partial' what i mean is:
    i am using 0x90 as CLA byte for personalisation (now i am not checking the CLA byte from cardelt code)
    private static final byte STORE=0x01;
    private static final byte GET=0x02; , and these are INS values for getting and storing personalisation data.
    if i send STORE command like */send 90010000084142434445464748* (8 data bytes ), only first 5 bytes are being transferred to applet (i tested this fact by returning the buffer(apdu.getBuffer()) length from process(APDU apdu) function ), not the actual data. ie, only CLA, INS, P1, P2, and LC fields are being transferred to applet. so, currently the actual personlisation data is not been transferred to selected applet.
    Is there any specific data format that has to be send to a selected applet ?
    or
    In which point i am going wrong ?
    This is the cardlet code i'm using
    import javacard.framework.APDU;
    import javacard.framework.ISO7816;
    import javacard.framework.Applet;
    import javacard.framework.ISOException;
    import javacard.framework.Util;
    public class TestCard extends Applet
        private static final byte STORE=0x01;
        private static final byte GET=0x02;
        private static byte personalized=0x00;
        private static byte[] value=null;
       // private static byte testByte;
        public static void install(byte[] bArray, short bOffset, byte bLength)
            // GP-compliant JavaCard applet registration
            new TestCard().register(bArray, (short) (bOffset + 1), bArray[bOffset]);
        public void process(APDU apdu)
            // Good practice: Return 9000 on SELECT
            if (selectingApplet())
                return;
            byte[] buf = apdu.getBuffer();
            switch (buf[ISO7816.OFFSET_INS])
                case STORE:
                    value=new byte[buf[ISO7816.OFFSET_LC]];
                    //testByte=(byte)buf.length;
                    Util.arrayCopy(buf, (short)(ISO7816.OFFSET_LC+1), value, (short)0, buf[ISO7816.OFFSET_LC]);
                    personalized=(byte)0x01;
                    break;
                case GET:
                    if(personalized==0x00)
                        ISOException.throwIt((short)0x6999);
                        break;
                    //value=new byte[]{testByte};
                    apdu.setOutgoing();
                    apdu.setOutgoingLength((short)value.length);
                    apdu.sendBytesLong(value, (short)0, (short)value.length);
                    break;
                default:
                    // good practice: If you don't know the INStruction, say so:
                    ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
    }and this is the JCOP script i'm using
    /echo Opening terminal
    /terminal "winscard:4|OMNIKEY CardMan 5x21-CL 0"
    /echo Resets card
    /atr
    /echo Selecting TestCard Applet
    /select 11223344556600
    /echo Sending 8-byte Personalisation data ABCDEFGH (4142434445464748)
    /send 90010000084142434445464748
    /echo Reading personalised data
    /send 90020000and the output trace is
    /echo Opening terminal
    Opening terminal
    /terminal "winscard:4|OMNIKEY CardMan 5x21-CL 0"
    --Opening terminal
    /echo Resets card
    Resets card
    /atr
    --Waiting for card...
    ATR=3B 88 80 01 01 02 03 04 00 81 C0 00 4C             ;...........L
    /echo Selecting TestCard Applet
    Selecting TestCard Applet
    /select 11223344556600
    => 00 A4 04 00 07 11 22 33 44 55 66 00 00             ......"3DUf..
    (84234 usec)
    <= 90 00                                              ..
    Status: No Error
    /echo Sending 8-byte Personalisation data ABCDEFGH (4142434445464748)
    Sending 8-byte Personalisation data ABCDEFGH (4142434445464748)
    /send 90010000084142434445464748
    => 90 01 00 00 08 41 42 43 44 45 46 47 48             .....ABCDEFGH
    (168449 usec)
    <= 90 00                                              ..
    Status: No Error
    /echo Reading personalised data
    Reading personalised data
    /send 90020000
    => 90 02 00 00                                        ....
    (22838 usec)
    <= 00 00 00 00 00 00 00 00 90 00                      ."3DUf.... // here not getting the actual needed data.
    Status: No ErrorThanks and regards
    Sunil

    Hi all,
    after lot of trial and error and research, i found that in the above code, i am not using
    apdu.setIncomingAndReceive();this is where the problem lies. i set incoming mode after reading the apdu buffer and the problem solved.
    thanks and regards
    sunil

  • Problems selecting paper bin/source with some printers drivers

    Hi,
    I'm using CR2008 SP2 .NET SDK.
    With some printers drivers i'm unable to set the correct paper source in the print options.
    For example, if I use Toshiba e-series PLC driver (you can find it here:drivers and select, for example, the e-STUDIO281C printer).
    Even if i set the correct paper source on the report designer when i print it through code (without applying any changes to the report) the report is always printed by the default paper source defined at the printer preferences.
    The same thing happens when you do it through the designer.
    I already tried the following workaround but without any success: at the CR Designer, go to the File Menu, and choose Page Setup. Under Page Options, check the Dissociate Formatting Page Size and Printer Paper Size. This often helps with these issues. Resave the report, and see if that works any better.
    Is there any known issues with printer drivers and CR2008?
    (This thread was originally posted in [.NET Development forum|Re: Problems selecting paper bin/source with some printers drivers])

    Oops, sorry my mistake. I'll leave it here for now.
    How CR works is to get the Printer info from the DEVMODE structure, which is where the printer driver settings and configurations are saved for each printer installed.
    What I've seen plenty of times before is within the DEVMODE structure there is one area called DMExtra and in that structure it holds various custom options. Quite often the issue is we query that structure to get info but the problem lies in the driver returning an invalid structure size and therefore CR can't use any custom settings.
    Same type of issue if they use an uncommon (ENUM) value for the paper size. In code you can see this in debug mode. But if you simply pass the values as pointers and not attempt to alter them at all CR should not alter what the designer used and saved in the RPT file when the reprot was designed.
    What can happen when CR loads the printer info it fails due to problems with the printer itself. There are missing files from the install of the printer which cause Crystal to stop getting the info.
    Try this on a clean PC with no other printers installed, Install just that printer driver and then install Crystal Reports. If it still fails then we know it could be Crystal having problems with that driver. You may want to post your issue with the printer manufacturer also. They may be able to test also and determine if it is a CR or their driver issue. They can download a trial version of CR for testing.
    Trial lin is: Direct link to the Trial version: http://www.sap.com/solutions/sapbusinessobjects/sme/freetrials/index.epx
    If that's not an option you could purchase a support case here for one of our Engineers to escalate to R&D. If it turns out to be a CR problem then you'll get a credit for the case, if it is a printer driver problem then no credit.
    Single Case Purcahse is: http://store.businessobjects.com/store/bobjamer/DisplayProductByTypePage&parentCategoryID=&categoryID=11522300?resid=-Z5tUwoHAiwAAA8@NLgAAAAS&rests=1254701640551
    Be sure to tell them it needs to go to the Report Designer team first.
    There is also a possibilty their driver has issue with Windows OS and the .NET framework. Crystal reports is also UNICODE compliant so the printer driver would have a better success rate if their driver was also unicode compliant.
    Bottom line is if it doesn't work in Crystal Designer it won't work in code either.
    Thanks again
    Don

  • Caching problem in Applets - Java Control Panel

    I have a problem of applets being cached in Java Control Panel. Is there a way in Java to stop caching applets programatically in the Java Control Panel.
    There is one way to stop caching files by unchecking "Keep Temporary Files on my Computer" under Java Control Panel --> General --> Settings page.
    But I want to do this programatically using some Java programming/Java Scripting/some parameter in applet tag.
    Some solutions like setting cache_option = No, cache_archive= jar file name in PARAM tag in applet and classloader_cache="false" have been already tried. But noting is seeming to be working out.
    Can somebody please provide a solution.

    Following is the listener status
    STATUS of the LISTENER
    Alias LISTENER
    Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
    ction
    Start Date 11-APR-2007 11:51:12
    Uptime 0 days 0 hr. 1 min. 28 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File I:\oracle\product\10.2.0\db_1\network\admin\listener.o
    ra
    Listener Log File I:\oracle\product\10.2.0\db_1\network\log\listener.log
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jbpsouthcbg)(PORT=1521)))
    Services Summary...
    Service "jbpsouth" has 2 instance(s).
    Instance "jbpsouth", status UNKNOWN, has 2 handler(s) for this service...
    Instance "jbpsouth", status READY, has 2 handler(s) for this service...
    Service "jbpsouth_XPT" has 1 instance(s).
    Instance "jbpsouth", status READY, has 2 handler(s) for this service...
    The command completed successfully

  • Problem calling applet method using IE

    I've searched through the forum and can't seem to find anything that can help me fix this. I'm trying to call an applet's method using Javascript. This is working fine under Netscape, but not IE. Everything I've read seems to indicate that I'm doing this right, but I'm getting "Object doesn't support this property or method" when I try to call the applet method from IE.
    In this example method, I'm trying to call the applet's countChars method, which should return the length of the string you pass into it. Works under Netscape 6.2, but not IE 6.0
    Here's my applet code:
    import java.lang.String;
    public class test extends java.applet.Applet {
    public static int countChars(String s) {
    return s.length();
    And my HTML
    <HTML>
    <HEAD>
    <script language="Javascript">
    function refreshApplet()
    /*     i = document.forms.myForm.TestApplet.countChars();
         document.forms.myForm.output.value=i; */
         document.forms.myForm.output.value=document.applets["TestApplet"].countChars(document.forms.myForm.input.value);
    </script>
    </HEAD>
    <BODY>
    <APPLET CODE = "test.class" WIDTH = 400 HEIGHT = 400 ALIGN = middle NAME = "TestApplet" scriptable="true">
    </APPLET>
    <br>
    <form name="myForm">
    <input type="text" name="input">
    <input type="button" value="click me" onClick="refreshApplet();">
    <hr>
    <input type="text" name="output">
    </form>
    </BODY>
    </HTML>
    Thanks in advance!
    Craig Drabik
    Sr. Programmer/Analyst
    University at Buffalo

    I have very similar problem, my applet works OK using Netscape (6.2 and 7.0), but with IE 6.0 It only works with windows XP;
    The reported error is "Object doesn't support this property or method"
    Can someone please help me to solve this problem.
    Cheers
    Horus
    This is my code:
    - I call the applet using javaScript and input the method setData with two strings.
    function graphic()
         var dataZenith;
         var dataManual;
         initVariables();
         dataZenith = graphicZENith(); //Call other Javascript functions
         dataManual = graphicManual(); //Call other Javascript functions
         document.AppletOne.setData(dataZenith,dataManual);
    I run the applet with this HTML code:
    <applet NAME="AppletOne" code="Appl.class" width="450" height="450"
    MAYSCRIPT></applet>
    //Applet code/////////////
    import java.awt.*;
    import java.awt.geom.*;
    import java.applet.*;
    import java.util.*;
    public class Appl extends Applet {
         private int [] myArray1 = new int [156];     
         private int [] myArray2 = new int [156];
         private boolean flag = false;
         // maxDataYAxesNumber es usado para dividir el eje de las Y
    public void init()
              setFont(new Font("SansSerif", Font.BOLD, 12));
              setBackground (Color.white);
              setSize(getSize());     
    // Get data and put in an array
    public void setData(String data1, String data2)
              final String DELIMITER = ",";
              final StringTokenizer theTokens1 =
                   new StringTokenizer(data1, DELIMITER);     
              final StringTokenizer theTokens2 =
                   new StringTokenizer(data2, DELIMITER);
              try
                        String dataX = data1;
                        for (int i = 0; i < 156; i++)
                        myArray1[i] = Integer.parseInt(theTokens1.nextToken().trim());
                        myArray2[i] = Integer.parseInt(theTokens2.nextToken().trim());
              catch (NumberFormatException e) {};
              flag = true; //I get the data OK
              repaint();
    public void paint (Graphics g){
    Graphics2D g2d = (Graphics2D)g;
    setData(data1, data2) ;
    if (flag == true)
                   //Call other functions to process the graphic
    else g2d.drawString(" Sorry I can get Data", 100,80);          

  • Problem selecting date

    i am trying to find out details about purchase orders that were generated on 10th of january 2006.
    I fire following query to get the job done. But there is a problem with this query
    It does show records for po's generated on 10th jan, but also includes records for 9th jan.
    I can use date 8th of jan along with time parameter 23:59:59.
    But i don't think it is a correct approach. Can anybody pls give an alternative for this problem.
    select * from purchase_order where po_date > '09-jan-2006' and po_date<'11-jan-
    2006'

    select * from purchase_order where po_date > '09-jan-2006' and po_date<'11-jan-2006' When you said '09-jan-2006' is same as '09-jan-2006 00:00:00', so you will take all row which have '09-jan-2006' with a time after midnight.
    You can use trunc :
    select * from purchase_order where trunc(po_date)=to_date('100106','DDMMYY');Nicolas.

  • Problem downloading applet in W2K with SP4.

    Hi,
    We are using a Security Applet in our web application for validation purposes. We were using W2K Professional / W2K Server with SP3 and Sun JRE 1.3.x. The application was working as expected.
    We are now testing with W2K Server with SP4 (to upgrade to SP4). The current testing environment is W2K Server with SP4 and Sun JRE1.3.x. Now with the setup, we are facing a problem in downloading the applet (Security Applet). The downloading applet fails and the subsequent loading as well.
    Please advice. Does it requires any particular settings to be done at Client?
    The specs are
    Windows 2000 Server, SP4
    IE 6 SP1
    Sun Jre 1.3.x
    Problem:Downloading applet fails.
    PS: When we test with SP3, we can see the applet downloaded (CAB File), with SP4 it was not found.
    Thanks in Advance,
    Prakash

    Does the w2k sp4 server host your pages and applet?
    If yes then why install the SUN JRE 1.3 on the server, doesn't the client need this?
    Is the cab format supported by SUN jre or is it meant for msjvm and if so why is the client trying to open
    the cab with sun jre?
    http://java.sun.com/j2se/1.4.2/docs/guide/deployment/deployment-guide/upgrade-guide/article-02.html
    What's on the server doesn't have anything to do with the applet. The server is
    just serving it. Forcing the client/consumer of the html page with the applet is trying to open an applet
    with sun jre while the applet is ment for msjvm causes the error.
    The client can fix this by opening IE and check under tools -> internet options -> advanced -> UNCHECK
    the use sun jre ... for <applet tag. For the XP machine you might have a problem. Some of the don't have
    the msjvm at all so there is nothing to run the <applet, I tried to download it at microsoft but was unable
    to find it.

  • Problems selecting images in LR4

    I've been having problems selecting images in the library module when multiple images are in view (not down in the timeline, but in the main window). It seems sporadic with which ones it won't let me select, it somehow manages to be the ones that I need to click....!! I just literally can't click it as if it were an image I already imported or something, but it's not grayed out like that. I've been having to select a nearby image then use my arrow keys to navigate to and click the image I need. Any ideas about what is happening? Thanks so much for any ideas, it's really strange and just started last night.

    There was a bug forever-ago that certain areas of the screen simply didn't respond to any clicks.  I think the solution was to rebuild the preferences file.  Does that sound like the same issue perhaps?

  • Severe Problem in Applets

    I hav problem in Applets by use of threads.The prb. is that i am supposed to create three threads in applets.Thread one will read a file and extract a character array of size 10 from it and Thread 2 will display those characters in Textarea of Applets and after 10 seconds Thread3 will delete those chracters from textarea and next character set of Array of size 10 from Thread one will be assigned to Thread2 and process should go on untill it reads all character from file.Please sort this problem with source code.All are warmly welcome.
    Anuj.

    Thread one will read a file Since applets cannot read from the filesystem you have to use the URL object to read the file and place the
    file in the same location as your applet:
              try {
                   url = new URL(this.getCodeBase(), "yourfile.txt");
                   URLConnection conn = url.openConnection();
                   InputStream in = conn.getInputStream();
                   ByteArrayOutputStream bos = new ByteArrayOutputStream();
                   byte[] buf = new byte[1024];
                   int len;
                   while ((len = in.read(buf)) > 0) {
                        bos.write(buf, 0, len);
                   byte[] data = bos.toByteArray();
    //               String dataString = new String(data,"Shift_JIS"); // depending on your file encoding
              } catch (Exception e) {
                   e.printStackTrace(System.out);
              }How to use threads:
    http://java.sun.com/docs/books/tutorial/essential/threads/index.html

  • Problem in Applet while communicating with Javascript

    Hi,
    I’m facing a problem with applet. Applet calls JavaScript methods and vice versa. Applet works fine with JRE 5 to JRE 6 up to build no 1.6.0._7 but it fails with build no 1.6.0_10.
    The problem description is given below:
    After embedding applet in my HTML page using <OBJECT> tag, I’ve to check either any problem during applet’s execution, I want to get the error reason by calling my defined method getErrorReason() in applet that returns the error reason, I call the getErrorReason() against the applet’s object in JavaScript immediately after embed applet code in my HTML page, a JavaScript errors occurs and my applet fails to perform its execution.
    JavaScript error: Object does not support this property.
    The error points to the HTML page area where I’m calling getErrorReason() against applet object.
    The above JavaScript error occurs after the successful completion of Applet’s init(). I’m facing this problem only in JRE 6 build 1.6.0_10-b33.
    Please suggest me any solution.
    Thanks in advance.
    Regards,
    Israr Ahmed

    Hi Bharath,
    Even i got similar error and i tried deleting the below(Attaching the stack trace is always better way.)
    1) delete the folder ‘workspace’ or rename(including all files and subfolders) in the path D:\Documents and Settings\lzcr8r\Documents\SAP\workspace
    2) delete all .dtr/.dtc/.metadata directories in your personal folder (e.g. C:\Documents and Settings\lzcr8r).
    Restart the IDE once you are done with the above steps.
    Second part to increase the virtual mem
    1) RtClick on the Shortcut of NWDS -->Properties and in the Target put the below
    "C:\Program Files\SAP\IDE\IDE70\eclipse\SapIde.exe" -vmargs -Xms512m -Xmx1536m  "C:\j2sdk1.4.2_08\bin\javaw.exe"
    2) You can also try  Creating a bat file with the complete path of your IDE and start your ide from the bat
       content in the bat eg: "C:\Program Files\netbeans-4.1\bin\netbeans.exe" -vmargs -Xms512m -Xmx1536m
    Here -Xms512m is the min JVM size and -Xmx1024m is the max JVM size.
    You can place this batch file anywhere and double click the batch file.
    It will automatically start your IDE
    3) if you are using Tomcat you can try creating an env variable and assign Value
    Variable Name:  CATALINA_OPTS
    Variable Value:  -server -Xmx800m
    please award points if usefull.
    Regards
    Souza
    Edited by: Souza Aluri on Apr 9, 2008 9:46 AM

  • Access Terminal and select applet

    Hi people,
    I have a question about to run the aplet in a javacard. Is there any code or other useful material about getting terminal and select applet and run the methods of the apllet in a programmable manner? Thanks for your interest...
    Edited by: POLAT on Mar 16, 2009 7:41 PM

    Honestly I haven't figured out how to pass a pin when selecting the applet, however at the minute I have a way around it:
    you will see in teh code below, I have hardcoded a default pin and I have a pin update method that can be called via a apdu,
    NOTE this example works with the code above:
    *Applet ID 41 63 63 6F 75 6E 74 41 70 70 6C
    public class AccountApplet extends Applet {
         final static byte ACCOUNT_CLA = (byte)0xB0;
         final static byte VERIFY = (byte) 0x20;
         final static byte CREDIT = (byte) 0x30;
         final static byte DEBIT = (byte) 0x40;
         final static byte GET_BALANCE = (byte) 0x50;
         final static byte UPDATE_PIN = (byte) 0x60;
         final static short MAX_BALANCE = 10000;
         final static byte MAX_TRANSACTION_AMOUNT = 100;
         final static byte PIN_TRY_LIMIT =(byte)0x03;
         final static byte MAX_PIN_SIZE =(byte)0x08;
         // Applet-specific status words:
         OwnerPIN pin;
         short balance = 109; // Starting balance of decimal 109 is 6D in hex
         public static void install(byte[] bArray, short bOffset, byte bLength) {
                        new AccountApplet(bArray, (short) (bOffset + 1), bArray[bOffset]);
         private AccountApplet(byte[] bArray, short bOffset, byte bLength){
              pin = new OwnerPIN(PIN_TRY_LIMIT, MAX_PIN_SIZE);
              // bArray contains the default PIN initialization value (12345)
              bArray[0] = 01;
              bArray[1] = 02;
              bArray[2] = 03;
              bArray[3] = 04;
              bArray[4] = 05;
              bOffset = 0;
              bLength = 5;
              pin.update(bArray, bOffset, bLength);
              register();
         public boolean select() {
         if (pin.getTriesRemaining() == 0)
                   return false;
              return true;
    public void deselect() {
         pin.reset();
         public void process(APDU apdu) {
    byte[] buffer = apdu.getBuffer();
              if (selectingApplet())
                   return;
              if (buffer[ISO7816.OFFSET_CLA] != ACCOUNT_CLA)
                   ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
              switch (buffer[ISO7816.OFFSET_INS]) {
              case GET_BALANCE:          getBalance(apdu);      return;
              case DEBIT:                    debit(apdu);             return;
              case CREDIT:               credit(apdu);           return;
              case VERIFY:               verify(apdu);          return;
              case UPDATE_PIN:          updatePin(apdu);     return;
              default:                    ISOException.throwIt
              (ISO7816.SW_INS_NOT_SUPPORTED);
    private void credit(APDU apdu) {
              if (!pin.isValidated())
                   ISOException.throwIt(SW_PIN_VERIFICATION_REQUIRED);
              byte[] buffer = apdu.getBuffer();
         byte numBytes = buffer[ISO7816.OFFSET_LC];
              byte byteRead = (byte)(apdu.setIncomingAndReceive());
              if (( numBytes != 1 ) || (byteRead != 1))
                   ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
              byte creditAmount = buffer[ISO7816.OFFSET_CDATA];
              if (( creditAmount > MAX_TRANSACTION_AMOUNT)
                        || ( creditAmount < 0 ))
                   ISOException.throwIt(SW_INVALID_TRANSACTION_AMOUNT);
              if ((short)( balance + creditAmount)  > MAX_BALANCE)
                   ISOException.throwIt(SW_EXCEED_MAXIMUM_BALANCE);
              balance = (short)(balance + creditAmount);
              return;
         private void updatePin(APDU apdu) {
              if (! pin.isValidated())
                   ISOException.throwIt(SW_PIN_VERIFICATION_REQUIRED);
              byte[] buffer = apdu.getBuffer();
              byte numBytes = buffer[ISO7816.OFFSET_LC];
              byte byteRead = (byte)(apdu.setIncomingAndReceive());
                   if (byteRead != numBytes) {
                   ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
                   if ( numBytes > 8 )
                   ISOException.throwIt(SW_PIN_TO_LONG);
              if ( numBytes < 4 )
                   ISOException.throwIt(SW_PIN_TO_SHORT);     
              short offset_cdata = 05;          
              pin.update(buffer, offset_cdata, numBytes);
              pin.resetAndUnblock();
         private void debit(APDU apdu) {
              if (! pin.isValidated())
                   ISOException.throwIt(SW_PIN_VERIFICATION_REQUIRED);
              byte[] buffer = apdu.getBuffer();
              byte numBytes = (byte)(buffer[ISO7816.OFFSET_LC]);
         byte byteRead = (byte)(apdu.setIncomingAndReceive());
              if (( numBytes != 1 ) || (byteRead != 1))
                   ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
         byte debitAmount = buffer[ISO7816.OFFSET_CDATA];
              if (( debitAmount > MAX_TRANSACTION_AMOUNT)
                        ||  ( debitAmount < 0 ))
                   ISOException.throwIt(SW_INVALID_TRANSACTION_AMOUNT);
              if ((short)( balance - debitAmount ) < (short)0)
                   ISOException.throwIt(SW_NEGATIVE_BALANCE);
              balance = (short) (balance - debitAmount);
         }      private void getBalance(APDU apdu) {
              byte[] buffer = apdu.getBuffer();
              short le = apdu.setOutgoing();
              apdu.setOutgoingLength((byte)2);
         Util.setShort(buffer, (short)0, balance);
              apdu.sendBytes((short)0, (short)2);
          * verification method to verify the PIN
         private void verify(APDU apdu) {
              byte[] buffer = apdu.getBuffer();
              byte byteRead = (byte)(apdu.setIncomingAndReceive());
              if (pin.check(buffer, ISO7816.OFFSET_CDATA,byteRead)
                        == false)
                   ISOException.throwIt(SW_VERIFICATION_FAILED);
         } // end of verify method
    } // end of class Account

  • Problem selecting install applet

    I'm using JCOP30 card through a pcsc-compatible reader
    When i try to select an install applet through using apdutool, it always return me 6a82 code.
    Here are the lines I send:
    powerup;
    // Select the installer applet
    0x00 0xA4 0x04 0x00 0x09 0xa0 0x00 0x00 0x00 0x62 0x03 0x01 0x08 0x01 0;
    powerdown;
    The response :
    C:\JavaCard\java_card_kit-2_2_2\bin>apdutool -pcsc C:\test.scr
    Java Card 2.2.2 APDU Tool, Version 1.3
    Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
    WARNING: PC/SC is not officially supported and may not work on all platforms.
    Before SCardEstablishContext ...
    After SCardEstablishContext ...
    SUCCESS ...-855572480
    Reader 0 : ORGA CardMouse U 0
    NativeConnect Context is ... -855572480
    NativeConnect card is ... ea010000
    NativeStatus card is ... ea010000
    Received ATR = 0x3b 0x66 0x00 0xff 0x4a 0x43 0x4f 0x50 0x30 0x33
    NativeTransmit card is ... ea010000
    NativeTransmit_barray(): inlen 14
    NativeTransmit_barray(): return code 0x0, return length 2
    CLA: 00, INS: a4, P1: 04, P2: 00, Lc: 09, a0, 00, 00, 00, 62, 03, 01, 08, 01, Le: 00, SW1: 6a, SW2: 82
    NativeDisconnect is ... ea010000
    On the cref it returns 9000 status.
    What am I doing wrong?

    By the way, can anyone point me to the list of
    response codes with the explanation(besides pdf-file
    supplied with sdk)?All error response codes are defined in ISO/IEC 7816-4 which isn't available for free (you have to buy it). There is only an older version available online for free:
    http://www.ttfn.net/techno/smartcards/iso7816_4.html
    Take a look on table 12 to 18 for the error codes.
    Jan

  • Swing JComboBox causes scrolling problems in applet

    I have an applet with a JPanel that contains a JComboBox that lists font selections for a JTextPane in a JPanel below it. It contains about 12 items, of which only five are visible at a time. If I choose any of the first five and scroll the page on which the applet is running, there are no issues. However, if I scroll the page after scrolling down the list to the sixth item, regardless of whether or not I actually select it, it causes the graphics in the applet to corrupt. The JComboBox code is:
    private JComboBox getFontFaceCB() {
                   String[] fontNames = new String[fontlist.length];
                   for (int i = 0; i < fontlist.length; i++){
                        fontNames[i] = fontlist.getFamily();
                   if (fontFaceCB == null) {
                        fontFaceCB = new JComboBox(fontNames);
                        fontFaceCB.setBackground(Color.white);
                        fontFaceCB.setPreferredSize(new Dimension(150, 30));
                        fontFaceCB.setMaximumRowCount(5);
                        fontFaceCB.setSelectedIndex(0);
                        fontFaceCB.addItemListener(new java.awt.event.ItemListener() {
                             public void itemStateChanged(java.awt.event.ItemEvent e) {
                                            currentFont = fontlist[fontFaceCB.getSelectedIndex()];
                                            StyleConstants.setFontFamily(textStyles, currentFont.getFamily());
                                            jTextPane.setCharacterAttributes(textStyles, true);
                                            viewWidget.repaint();
                   return fontFaceCB;
              }This also happens if I set the default index to something that one must scroll down to reach (e.g. the sixth index) I was wondering if anyone else has come across this issue and has any idea as to how this may be resolved.
    Also, if the window is minimized, resized, etc. the graphics also corrupt, but only after the aforementioned condition.
    Edited by: BANZ111 on Dec 12, 2007 3:59 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    I have found the solution:
    I had lightweight components intertwined with heavyweight ones, which, until now, I never regarded as being a possible source of problems. Apparently, when you scroll down a JComboBox, it changes from light to heavy weight? At any rate, I found this with a lot of other useful tips here:
    http://72.5.124.55/javase/6/webnotes/trouble/TSG-Desktop/html/gchzf.html#gdldq
    Perhaps this can be of use to anyone else who gets a similar problem.

  • Big Problem in Applet-Servlet Communication-(Help)

    I wrote an method to send serialized objects from Applet to Servlet,
    the method is as following:
    private ObjectInputStream postObjects (URL servlet, Serializable objs[], String sessionID) throws Exception {
    ObjectInputStream in = null;
    ObjectOutputStream out = null;
    try{
    URLConnection con = servlet.openConnection();
    con.setDoInput(true);
    con.setDoOutput(true);
    con.setUseCaches(false);
    con.setRequestProperty("Content-Type","application/x-java-serialized-object");
    con.setAllowUserInteraction(false);
    con.setRequestProperty("Cookie", sessionID);
    out = new ObjectOutputStream(con.getOutputStream());
    int numObjects = objs.length;
    for(int x = 0; x < numObjects; x++){
    out.writeObject(objs[x]);
    out.flush();
    out.close();
    in = new ObjectInputStream(con.getInputStream());
    }catch(Exception e){
    e.printStackTrace(System.err);
    throw e;
    }finally{
    return in;
    when I call this method, I got the following error message in Applet console,
    my platform is Salaris 5.8 + iPlanet 6.0.
    java.io.EOFException
         at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2150)
         at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2619)
         at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:726)
         at java.io.ObjectInputStream.<init>(ObjectInputStream.java:251)
         at com.shinewave.lms.core.client.ServletProxy.postObjects(ServletProxy.java:255)
         at com.shinewave.lms.core.client.ServletProxy.doInitialize(ServletProxy.java:76)
         at com.shinewave.lms.core.client.APIAdapterApplet.LMSInitialize(APIAdapterApplet.java:60)
    java.lang.NullPointerException
         at com.shinewave.lms.core.client.ServletProxy.doInitialize(ServletProxy.java:77)
         at com.shinewave.lms.core.client.APIAdapterApplet.LMSInitialize(APIAdapterApplet.java:60)
    java.lang.NullPointerException
         at com.shinewave.lms.core.client.ServletProxy.doInitialize(ServletProxy.java:82)
         at com.shinewave.lms.core.client.APIAdapterApplet.LMSInitialize(APIAdapterApplet.java:60)
    Please help me to solve this problem, thank you very much.

    Hi..
    Sorry abt this. But I was hoping if u could help out on this..
    I am trying to implement a applet to servlet communication...
    wherin the servlet would read data from the database... and send it back to the applet which gets displayed on the applet...
    But the problem is that the applet is not able to establish a connection with the servlet..
    I am also using another supportive class whose object is basically passed from the servlet to the applet..
    could u help me..
    below is the piece of code...
    APPLET:
    import java.net.*;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    public class TestApplet extends JApplet implements ActionListener
         JButton btnLoad;
         JTextField tfEmpno, tfFname, tfLname, tfSalary;
         URL url;
    private String webServerStr = null;
    private String hostName = "sandy";
    private int port = 8085;
    private String servletPath = "/jdbcTest.DBDetailsServlet";     
    public TestApplet()
         super();
    // suppress Warning Message
    getRootPane().putClientProperty"defeatSystemEventQueueCheck",Boolean.TRUE);
         public void actionPerformed(ActionEvent ae)
              if(btnLoad.getText().equals("Load"))
                   if(loadData())
                        btnLoad.setText("Save");
              else
                   btnLoad.setText("Load");
    //               saveData();
         public void init()
              setBackground(Color.pink);
              tfEmpno = new JTextField(10);
              tfFname = new JTextField(10);
              tfLname = new JTextField(10);
              tfSalary= new JTextField(10);
              JPanel panel = new JPanel();
              panel.setLayout(new FlowLayout());
              panel.add(tfEmpno);
              panel.add(tfFname);
              panel.add(tfLname);
              panel.add(tfSalary);
              getContentPane().add(panel, BorderLayout.CENTER);
              JPanel bottom = new JPanel(new FlowLayout());
              btnLoad = new JButton("Load");
              btnLoad.addActionListener(this);
              bottom.add(btnLoad);
              getContentPane().add(bottom, BorderLayout.SOUTH);
         public boolean loadData()
              try
         System.out.println("Web Server host name: " + hostName);
         webServerStr = "http://" + hostName + ":" + port + servletPath;
         System.out.println("Web String full = " + webServerStr);
                   String servletGET = webServerStr + "?"
         + URLEncoder.encode("UserOption") + "="
         + URLEncoder.encode("AppletDisplay");     
    //               url = new URL(getCodeBase(),"http://sandy:8080/servlet/jdbcTest.DBDetailsServlet");
                   System.out.println("Complete Servlet Url => " + servletGET);
                   url = new URL(servletGET);
                   URLConnection con = url.openConnection();
                   con.setUseCaches(false); // Turn off caching.
                   InputStream in = con.getInputStream();
                   System.out.println("\nsuccess ....... con.getInputStream() ");
                   ObjectInputStream ois = new ObjectInputStream(in);
                   System.out.println("\nsuccess ....... new ObjectInputStream(in) ");
                   Object object = ois.readObject();
                   System.out.println("\nGot the object from servlet...");
                   if(object != null)
                        System.out.println("\nObject NOT null ...");
                        ArrayList result = (ArrayList) object;
                        jdbcTest.EmployeeValue empval = (jdbcTest.EmployeeValue) result.get(0);
                        tfEmpno.setText(""+empval.getEmp_no());
                        tfFname.setText(empval.getFname());
                        tfLname.setText(empval.getLname());
                        tfSalary.setText(""+empval.getSalary());
                        System.out.println("\nObject processed " + result);
                        repaint();
                   return true;
              catch(Exception e)
                   e.printStackTrace();
                   System.out.println("\n\n loadData()=> E X C E P T I O N : " + e + "\n");
                   return false;               
         public void saveData()
              //yet to be implemented..
    SERVLEt:
    package jdbcTest;
    import java.util.*;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class DBDetailsServlet extends HttpServlet
         public void doGet(HttpServletRequest req,HttpServletResponse res )throws ServletException, IOException
              System.out.println("\nInside the doGet()\n");
              ArrayList results = getDetails();
              ObjectOutputStream oos = new ObjectOutputStream(res.getOutputStream());
              oos.writeObject(results);
         public void doPost(HttpServletRequest req,HttpServletResponse res )throws ServletException, IOException
              System.out.println("\nInside the doPost()\n");
              doGet(req,res);
         public ArrayList getDetails()
              try
                   System.out.println("\nServlet : inside GetDetails...");
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                   java.sql.Connection con = java.sql.DriverManager.getConnection("jdbc:odbc:SandyDSN","","");
                   java.sql.Statement stmt = con.createStatement();
                   System.out.println("\n Statement created..");
                   java.sql.ResultSet rs = stmt.executeQuery("SELECT * FROM EMP WHERE EMP_NO = 222");
                   System.out.println("\n Query Executed...");
                   ArrayList results = new ArrayList();
                   while(rs.next())
                        EmployeeValue empval = new EmployeeValue();
                        empval.setEmp_no(rs.getLong("EMP_NO"));
                        empval.setFname(rs.getString("FNAME"));
                        empval.setLname(rs.getString("LNAME"));
                        empval.setSalary(rs.getLong("SALARY"));
                        results.add(empval);
                   System.out.println("\n Resultset Obtained...");
                   stmt.close();
                   con.close();
                   return results;
              catch(Exception e)
                   System.out.println("Error while retreiving details....." + e);
                   return null;
         public boolean saveDetails(EmployeeValue empval)
              try
                   return true;
              catch(Exception e)
                   System.out.println("Error while updating details....." + e);
                   return false;
    The utility class EMployeeValue is as below:
    package jdbcTest;
    import java.io.*;
    class EmployeeValue implements Serializable
         private long emp_no;
         private String fname;
         private String lname;
         private long salary;
         public EmployeeValue()
              super();
         public EmployeeValue(long eno, String fn, String ln,long sal)
              super();
              setEmp_no(eno);
              setFname(fn);
              setLname(ln);
              setSalary(sal);
         public long getEmp_no()
              return emp_no;
         public java.lang.String getFname()
              return fname;
         public java.lang.String getLname()
              return lname;
         public long getSalary()
              return salary;
         public void setEmp_no(long newEmp_no)
              emp_no = newEmp_no;
         public void setFname(java.lang.String newFname)
              fname = newFname;
         public void setLname(java.lang.String newLname)
              lname = newLname;
         public void setSalary(long newSalary)
              salary = newSalary;

  • Problem Installing Applet

    Hello. Having a little problem installing my applet. The package loads cleanly, but when I try to install the applet it blows up and returns an OP.error.E6.6A86. I looked this up and found out that it means SW_INCORRECT_P1P2. After looking at my code for the longest time, I can't figure out why this error would be thrown. I throw the error in my process method, but can't understand where it would come from in the install or constructor. Any help figuring this out is greatly appreciated. Thanks. Justin
    My code:
    package test.justin2;
    import javacard.framework.*;
    public class UserInformationApplet extends javacard.framework.Applet
    &nbsp&nbsp&nbspprivate byte[] userID = {(byte)0x44,(byte)0x45,(byte)0x46,(byte)0x41,(byte)0x55,(byte)0x4C,(byte)0x54};
    &nbsp&nbsp&nbspprivate byte[] userType = {(byte)0x45,(byte)0x4D,(byte)0x50};
    &nbsp&nbsp&nbspprivate byte[] password = {(byte)0x50,(byte)0x41,(byte)0x53,(byte)0x53,(byte)0x57,(byte)0x4F,(byte)0x52,(byte)0x44};
    &nbsp&nbsp&nbsp private final static short USER_ID = 0;
    &nbsp&nbsp&nbsp private final static short USER_TYPE = 1;
    &nbsp&nbsp&nbsp private final static short PASSWORD = 2;
    &nbsp&nbsp&nbsp
    &nbsp&nbsp&nbsp public UserInformationApplet(byte[] bArray, short bOffset, byte bLength)
    &nbsp&nbsp&nbsp {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     super();
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     register();
    &nbsp&nbsp&nbsp }
    &nbsp&nbsp&nbsp private void getField(APDU apdu)
    &nbsp&nbsp&nbsp {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     byte[] buffer = apdu.getBuffer();
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     if(buffer[ISO7816.OFFSET_P1] == (byte) USER_ID)
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     short le = apdu.setOutgoing();
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     apdu.sendBytesLong(userID, (short) 0, (short) userID.length);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     else if(buffer[ISO7816.OFFSET_P1] == (byte) USER_TYPE)
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     short le = apdu.setOutgoing();
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     apdu.sendBytesLong(userType, (short) 0, (short) userType.length);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     else
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     short le = apdu.setOutgoing();
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     apdu.sendBytesLong(password, (short) 0, (short) password.length);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp }
    &nbsp&nbsp&nbsp public static void install(byte[] bArray, short bOffset, byte bLength) throws ISOException
    &nbsp&nbsp&nbsp {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     UserInformationApplet me = new UserInformationApplet(bArray, bOffset, (byte)bLength);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     me.register();
    &nbsp&nbsp&nbsp }
    &nbsp&nbsp&nbsp public void process(APDU apdu) throws ISOException
    &nbsp&nbsp&nbsp {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     byte[] buffer = apdu.getBuffer();
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     if(buffer[ISO7816.OFFSET_CLA] != (byte) 0x80)
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp          ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     if ((buffer[ISO7816.OFFSET_INS] != (byte) 0x02) & (buffer[ISO7816.OFFSET_INS] != (byte) 0x03))
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp          ISOException.throwIt(ISO7816.SW_DATA_INVALID);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     if ((buffer[ISO7816.OFFSET_P1] != (byte) USER_ID) & (buffer[ISO7816.OFFSET_P1] != (byte) USER_TYPE) & (buffer[ISO7816.OFFSET_P1] != (byte) PASSWORD))
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp          ISOException.throwIt(ISO7816.SW_INCORRECT_P1P2);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     if(buffer[ISO7816.OFFSET_INS] == (byte) 0x02)
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp          getField(apdu);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     else if(buffer[ISO7816.OFFSET_INS] == (byte) 0x03)
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp          setField(apdu);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     else
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp          ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp }
    &nbsp&nbsp&nbsp private void setField(APDU apdu)
    &nbsp&nbsp&nbsp {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     byte[] buffer = apdu.getBuffer();
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     short lc = (short) ((short) 0x00FF & buffer[4]);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     if(buffer[ISO7816.OFFSET_P1] == USER_ID)
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     userID = new byte[lc];
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     Util.arrayCopy(buffer, (short) 5, userID, (short) 0, lc);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     else if(buffer[ISO7816.OFFSET_P1] == USER_TYPE)
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     userType = new byte[lc];
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     Util.arrayCopy(buffer, (short) 5, userType, (short) 0, lc);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     else
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     {
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     password = new byte[lc];
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     Util.arrayCopy(buffer, (short) 5, password, (short) 0, lc);
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     }
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp     apdu.setOutgoingAndSend((short) 0, (short) 0);
    &nbsp&nbsp&nbsp }

    Thanks for the help. I tried sending the 0C to make the applet selectable and then received a 0x6A81, SW_FUNC_NOT_SUPPORTED. I didn't have the select or deselect methods in my applet, so I added those also and then received the same error. So what I currently have is the previous code plus this:
    &nbsp&nbsp&nbsppublic boolean select()
    &nbsp&nbsp&nbsp{
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbspreturn true;
    &nbsp&nbsp&nbsp}
    &nbsp&nbsp&nbsppublic void deselect()
    &nbsp&nbsp&nbsp{
    &nbsp&nbsp&nbsp&nbsp&nbsp&nbspreturn;
    &nbsp&nbsp&nbsp}
    I can't help but think it's got to be some little thing, because it looks fine to me. I greatly appreciate the help. Justin.

Maybe you are looking for

  • How to add line items to Accounting Document posted through MIRO ?

    I need to perform Additional posting when Posting through MIRO transaction..i tried with INVOICE_UPDATE BADI but this was not useful...Please let me know if there is any way to add additional posting to Accounting Document created through MIRO. If an

  • HT3275 getting already in use when backing up iMac to Time Machine

    I'm getting the following error when trying to backup to my iMac to my Time Machine, and I think it might be related to the MacBook I purchased yesterday and connected it to the same Time Machine. The backup disk image "/Volumes/Data-1/Martin's iMac.

  • Remove original message when replying in mail

    I don't want to include the text of messages received when I reply to them. Mail help says to adjust this you 1. Choose Mail > Preferences and click Composing. 2. Select the "Quote the text of the original message" checkbox. 3. Select "Include select

  • Cash Sales with Credit card

    Hi, I would like to know how to handle a scenario in which a customer comes to a shop where he will pick the goods and pay immediately by Cash, Credit Card or Cheque( Rarely). I understand that Cash Sales Order will be suitable for this scenario. But

  • When will the entire BPA Suite be available

    Oracle announced the general availability of BPA Suite, but only Business Process Architet is available yet. What are the plans for the other products? What is the time for availability? Thanks Denis