Debuging ejb's on wls using eclipse

Hi,
I am curently trying to find out ways to debug ejb's on wls. I am hoping to
use eclipse for this. Its has an option to connect to a remote vm via a port.
Can you please tell me how thi can be done.
PS: I am aware that WLS has to be setup so that a port may be open in debug mode.
But all that I know.
Thanks,
Gavin

You should modify the weblogic startup to use the following parameters
(IntelliJ).
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=
y,suspend=n,address=500.
You might have to do something similar.
"Gavin" <[email protected]> wrote in message
news:3cba93f5$[email protected]..
>
Hi,
I am curently trying to find out ways to debug ejb's on wls. I amhoping to
use eclipse for this. Its has an option to connect to a remote vm via aport.
Can you please tell me how thi can be done.
PS: I am aware that WLS has to be setup so that a port may be open indebug mode.
But all that I know.
Thanks,
Gavin

Similar Messages

  • Creating EJB 3.0 project using Eclipse - Urgent

    Hi,
    Im new to EJB 3.0 and i need a urgent help please. I have created a EJB Project that uses JPA to Fetch data from Oracle 10g DB. But the problem is how to i get this project connect to DB? where do i need to do the Datasource maping and what would be the params? an example would be of real help? (On Deployment i get jta-datasource not found error)
    I have also created a Enterprise Application Project. Do i have to do the Datasource mapping here?
    I also want to create a Axis Webservice for a class that i have in my EJB Project. Can i create it in Eclipse. If so how can I?
    Please share any helpful link or tutorial or Example.
    I have tried google search and tried many blogs but no luck.
    [EJB 3.0 + Axis Web Services + Eclipse + Jboss ]
    Regards
    Prateek

    Start by getting the Java EE tutorial at least v5 (it's free) and reading the sections that you are unclear about.
    Basically you need to create a persistence.xml file that names a JDBC resuource. This is usually just the JNDI name of a resource that is configured on a server.
    You then configure a datasource on your server that contains the actual DB connection settings and name it the same as the name in the persistence.xml.
    The Java EE tutorial has sections that explain all of this.
    Also, if you are starting out, I would not advise using tools to autogenerate projects/artifacts.
    Doing it manually helps you understand how things work better.

  • How to create an EJB Module using Eclipse

    Hi,
    How do I create a single EJB module and make a deployable EJB jar? I already have a existing source directory that contains the java files and the deployment descriptor. I am using Eclipse Ganymede 3.4 and Weblogic 9.2.
    Thanks.
    Edited by: user10387019 on Dec 9, 2008 1:39 PM

    Start out by creating an empty EJB project using the EJB Project wizard. Make sure to specify your WebLogic 9.2 installation as target runtime on the first page of the wizard. If your EJB source code is plain spec-compliant EJB, then your project is ready. If you are using WLS EjbGen technology, then you will also need to enable that feature on the project. You can do that at project creation by clicking the Modify button next to the Configuration combo on the first page of the wizard and then selecting WebLogic EJB Gen Support facet.
    Once the project is created, you are ready to import your source. You have several choices here. You can either copy your source into the src directory created for you or you can delete that source directory and link to a source directory elsewhere on the file system. To do the latter, right click on the project and select properties. Go to Java Build Path and select the Source tab. Remove the existing source directory. Then click on Link Source button and point to your existing source directory.
    That should be all that's necessary. Hope that helps.
    - Konstantin

  • Debugging using Eclipse and non-standalone 10g

    Hey - is it possible to perform remote debugging using Eclipse against the non-standalone version of the 10g App Server? I've tried some of the hints listed in this forum (the most promising seemed to be starting oc4j using this command-line command:
    java -classic -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=2727 -jar oc4j.jar, then connecting with the Eclipse debugger, which I managed to do - though I had to change one of the parameters because the designated file [a timezone file] could not be found - after the change things seemed to start up correctly. However, when I tried to hit http://localhost:2727 I got a "server not found or DNS error"). I don't know if the debugging works with the non-standalone version of 10g or not... or if I should be using some other startup command so hopefully y'all can help :)
    Thanks,
    Scott

    Scott, apparently you have fallen pray of one of the most common misunderstandings of oc4j. Oc4j, namely, Oracle Application Server Container for j2ee, is a COMPLETE j2ee server. It supports http and https by itself. It is also an ejb container and a lot more. It can be used as a standalone or, with a different configuration, integrated into Oracle Application Server as its core component.
    When you use the command "java -jar oc4j.jar ...", you are starting an instance of "standalone oc4j" or "oc4j standalone" as mentioned above, albeit from an OAS installation. In contrast, you can start one instance of Oracle Application Server by "<ORACLE_HOME>/opmn/bin/opmn startall", which will starts, besides several other components, one or several oc4j processes as its oc4j component. This OAS is an HTTP server that takes initial requests and routs the requests that are for OC4J to OC4J server. It may handle some of the requests by itself, or routs other http requests to other components, like mod_plsql. Finally, what we usually called "farm" is a collection of OAS clusters and instances that share the same OAS Infrastructure.
    What I have written is just a tiny mini introduction of the OAS. For starters, oc4j is for use by development and small-medium scale production deployments. Plese take a look at the book "Oracle Application Server Containers for J2EE Standalone User's Guide" and then, "Oracle Application Server Concepts". You can find them by
    1. go to http://otn.oracle.com
    2. select "documentation" pull-down menu and then "application server"
    3. go to the first "view library" or the one suits you.
    4. view the "Oracle Application Server Concepts"
    5. or go to "List of All Books" and you will see all of them!
    Well, the best place to self-teach oc4j is, besides googling with site:oracle.com, the oc4j homepage,
    http://www.oracle.com/technology/tech/java/oc4j/index.html
    The above is written in case you need more information. Now let me come to your specific questions.
    1. how to hit the OC4J instance directly, bypassing an HTTP server entry?Since what you started is an oc4j standalone, it does not make any sense to say "bypassing an HTTP server entry". Oc4j instance itself IS an http server. To access its http service, try
    http://<yourHostNameOrIP>:<httpPort>/<yourAppWebContextRoot>
    where the httpPort and yourAppWebContextRoot can be found in default-web-site.xml or http-web-site.xml. Which one or other web-site.xmls are effective is determined in <OC4J_HOME>/config/server.xml. Here the OC4J_HOME refers to your "C:/OraHome1/j2ee/home".
    2. how to get the HTTP server started via the command-line startup?As said above, you already got an HTTP server running.
    What I suggest for you is to play with oc4j standalone. You can come to OAS later:
    1. download oc4j standalone distribution, "Oracle Containers for J2EE 10g (10.1.3) Developer Preview 3", from here "http://www.oracle.com/technology/software/products/ias/preview.html"
    2. unzip the downloaded file. What you get is basically the same to a part of your existing "C:/OraHome". Go to j2ee/home. Run
    java -Xdebug -Xnoagent -Djava.compiler=none -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=3301 -jar oc4j.jar
    Make sure you are using java 1.4.2 sdk.
    3. "new" your remote debugger from Eclicpse and specify the hostname and port 3301.
    4. http://<yourHost>:8888/
    A further note: to debug jsp's, you can use Jdeveloper that allows you to set debug points directly in a jsp that is running in its embeded oc4j server.

  • How to debug Sun's classes using Eclipse

    Sometimes happens to me during the debugging of my application to have the necessity to "step into"
    in some Sun's classes (java.lang.String, or swing classes or something else).
    Even if Sun provide us the sources, I have not found a way to debug Sun classes because the Sun
    classes are shipped in jars without the debug informations.
    Eclipse open correctly the Sun's source but, without the debug informations into Sun's jars, is impossible
    to proceed with debugging.
    Does anyone can help me?
    Thanks.

    I have not used Eclipse but I think this may do it. While u are build' ing ur project can u place the jar files in the source path so that their classes also get compiled! If u can do then u can step into sun's code.
    s

  • How to debug a swing application using eclipse IDE

    plz tell me how can i approach to understand SWING GUI application using eclipse debugging procedure.
    for example:
    i would like to know how the program flow is, for creating a particular screen.
    how to approach my SWING application flow eaasily... plz suggest me anyone!!!

    avula wrote:
    plz tell me how can i approach to understand SWING GUI application using eclipse debugging procedure.
    for example:
    i would like to know how the program flow is, for creating a particular screen.
    how to approach my SWING application flow eaasily... plz suggest me anyone!!!Add break points and step through the code, you can examine the stack, and variables in the debug perspective .

  • How can I use Eclipse Standalone Debugger for embedded debugging?

    Hello!
    I'm writing software for ARM Cortex-M4 microcontroller. Depending on the project, my code runs bare-metal directly on the microcontroller or on µClinux. Project management and project build are done outside of Eclipse. I would like to use Eclipse solely for the purpose of debugging.
    After some googling, I thought that Eclipse Standalone Debugger (wiki.eclipse.org/CDT/StandaloneDebugger) is exactly what I'm looking for. Unfortunately, after installing it, it now seems to me that the Standalone debugger can only debug applications which are running directly on the debug host.
    It is my understanding, that Embedded projects (with remote targets) with architectures other than the debugging host don't seem to be supported.
    Is that correct?
    In "normal" Eclipse, embedded debugging of ARM projects is allegedly possible when installing following plugins:
    C/C++ GCC Cross Compiler Support
    C/C++ GDB Hardware Debugging
    They are installed in my Eclipse installation, however, when starting the Standalone Debugger, they seem to be deactivated.
    Is it possible to activate them somehow?
    Can anyone point me towards other useful information which could help me to use Eclipse solely for the purpose of debugging?

    Hi,
    Just to piggy back on this thread, as I'm looking for the same thing...
    I'd like to debug STM32 based ARM Cortex M3 and M4 devices.
    I have a setup already where I'm using an STLIink (hardware) to connect to the board, and I'm using texane stlink (st-util) (github.com/texane/stlink) which provides the TCP server interface to GDB
    I can then run the ARM version of GDB from the command line and debug on manually in GDB
    I'd love to be able to do this using the Eclipse Standalone debugger
    But I have a few problems
    1. Is the standalone debugger available for Windows ?
    Under linux there's a script to "install" the debugger, (which seems to set up a load of directories and a startup script) but there doesnt seem to be a way to do this on windows
    2. Even on Linux, I cant find any solid documentation / step by step on how to configure the standalone debugger
    Can anyone help on either of these points ??
    Thanks
    Roger

  • Ejb 3  stateless session bean eclipse glassfish runtime error

    trying to get a simple stateless session ejb 3 connected to a jsp using eclipse and glassfish. I have the two projects compiling, deploying, and in archives. but i am getting an error in my jsp which states it can't find my 'ejb' package which holds my created class files. I have looked at many examples on line and I can't find anything to point me in the right direction. please help!

    So you have 1 war file deployed and 1 ejb module deployed. Does the war file contain the interface class of the ejb? When deploying I tend to create a separate jar containing the interfaces to the ejbs that my web app will use and add it to WEB-INF/lib.
    Also post the stack trace of the Exception you are getting in case there is somthing else in it. (Just the juciy bits - I know how big Glassfish stacks can be!)
    m

  • How to deploy jar file in WLS using ant script

    Hi,
    Im trying to deploy a jar file in weblogic 10.3 using ant script and am running into the below error.
    +[wldeploy] weblogic.management.DeploymentException: [J2EE:160177]The application at "/u01//RSJBObjects.jar" was not recognized as a valid application type. If this is an EAR file, please ensure the META-INF/application.xml exists. EJB-JARs should have a META-INF/ejb-jar.xml or corresponding annotations exist. If this is an exploded WAR, the name of directory must be end with ".war". RARs require a META-INF/ra.xml. A JMS deployment should be an XML file whose name ends with "-jms.xml". A JDBC deployment should be an XML file whose name ends with "-jdbc.xml". For other application types, please consult the WebLogic Server documentation.+
    When i try to deploy the same manually from the console, i get a warning stating that WLS thought this as a library and hence proceeding to deploy as a library. After this warning the deployment continues and completes.
    Problem is when i try to deploy using ant, it breaks at this point.
    Is there any means that we can deploy a jar to WLS using ant script. This has to be deployed as a library as other apps would be using this jar.
    Im unable to create a ear file for this single jar file.
    If there is any suggestion on can this be done, please share.
    Thanks,
    Vijay.

    Hi Sunil,
    Thanks for the reply, it worked.
    Another doubt on the same lines. Now that the jar has been deployed as a library in WLS, when i try to deploy a WAR which refers to this deployed jar library, im unable to. I run into and error stating that the library is inaccessible.
    I have to bounce the server and before doing that, i have to manually copy the library.jar from <WLS_domain>/servers/AdminServer/upload/ directory to <WLS_domain>/lib/ directory, once copied i then try to deploy the WAR, then the deployment goes fine.
    Is there any means that this deployed library jar be made available soon after deployment and also to avoid copying the file.
    Thanks,
    Vijay.

  • Simulation using Eclipse plugin for JCOP tools

    Dear All,
    In search for a simulation environment for java card applet development I tried to use Eclipse plugin for JCOP tools.
    The samples which comes with the JCOP tools works fine but when try to debug my applet I receive the error: Wrong Data 6A 80.
    Generic JCOP v2.4.1 is selected for Java Card Simulation.
    Following is the JCOP Shell screen:
    cm- /term "Remote|localhost:8050"
    --Opening terminal
    /card -a a000000003000000 -c com.ibm.jc.CardManagerresetCard with timeout: 0 (ms)
    --Waiting for card...
    ATR=3B F8 13 00 00 81 31 FE 45 4A 43 4F 50 76 32 34 ;.....1.EJCOPv24
    31 B7 1.
    IOCTL().
    ATR: T=1, FI=1/DI=3 (93clk/etu), N=0, IFSC=254, BWI=4/CWI=5, Hist="JCOPv241"
    => 00 A4 04 00 08 A0 00 00 00 03 00 00 00 00 ..............
    (908058 nsec)
    <= 6F 65 84 08 A0 00 00 00 03 00 00 00 A5 59 9F 65 oe...........Y.e
    01 FF 9F 6E 06 47 91 92 18 00 00 73 4A 06 07 2A ...n.G.....sJ..*
    86 48 86 FC 6B 01 60 0C 06 0A 2A 86 48 86 FC 6B .H..k.`...*.H..k
    02 02 01 01 63 09 06 07 2A 86 48 86 FC 6B 03 64 ....c...*.H..k.d
    0B 06 09 2A 86 48 86 FC 6B 04 02 15 65 0B 06 09 ...*.H..k...e...
    2B 85 10 86 48 64 02 01 03 66 0C 06 0A 2B 06 01 +...Hd...f...+..
    04 01 2A 02 6E 01 02 90 00 ..*.n....
    Status: No Error
    cm> set-key 255/1/DES-ECB/404142434445464748494a4b4c4d4e4f 255/2/DES-ECB/404142434445464748494a4b4c4d4e4f 255/3/DES-ECB/404142434445464748494a4b4c4d4e4f
    cm> init-update 255
    => 80 50 00 00 08 B1 04 15 2B 41 3F 62 AB 00 .P......+A?b..
    (2668 usec)
    <= 00 00 F9 02 71 E3 BB AD BD CD FF 02 00 00 3D 02 ....q.........=.
    9C 31 C7 89 AD 44 8E 13 17 15 2E 5A 90 00 .1...D.....Z..
    Status: No Error
    cm> ext-auth plain
    => 84 82 00 00 10 CE 6C DC D2 8C BE 5E 33 EC 58 D0 ......l....^3.X.
    57 3A 52 D2 24 W:R.$
    (2288 usec)
    <= 90 00 ..
    Status: No Error
    cm> delete -r a00000006203010c04
    => 80 E4 00 80 0B 4F 09 A0 00 00 00 62 03 01 0C 04 .....O.....b....
    00 .
    (1084 usec)
    <= 6A 88 j.
    Status: Reference data not found
    jcshell: Error code: 6a88 (Reference data not found)
    jcshell: Wrong response APDU: 6A88
    Ignoring expected error
    cm> upload -d -b 250 "D:\JCOP\eclipse\projects\DigitalTachograph\bin\digitaltachograph\javacard\digitaltachograph.cap"
    => 80 E6 02 00 16 09 A0 00 00 00 62 03 01 0C 04 08 ..........b.....
    A0 00 00 00 03 00 00 00 00 00 00 00 ............
    (2100 usec)
    <= 00 90 00 ...
    Status: No Error
    => 80 E8 00 00 FA C4 82 84 42 01 00 25 DE CA FF ED ........B..%....
    02 02 04 00 01 09 A0 00 00 00 62 03 01 0C 04 11 ..........b.....
    64 69 67 69 74 61 6C 74 61 63 68 6F 67 72 61 70 digitaltachograp
    68 02 00 21 00 25 00 21 00 0E 00 29 03 3E 00 CD h..!.%.!...).>..
    23 D2 01 BB 04 44 00 00 09 E3 4B E5 00 11 00 05 #....D....K.....
    01 A2 04 01 00 04 00 29 04 00 01 07 A0 00 00 00 .......)........
    62 00 01 02 01 07 A0 00 00 00 62 01 01 02 01 07 b.........b.....
    A0 00 00 00 62 01 02 02 01 07 A0 00 00 00 62 02 ....b.........b.
    01 03 00 0E 01 0A A0 00 00 00 62 03 01 0C 04 01 ..........b.....
    01 DF 06 00 CD 00 00 00 80 00 00 FF 00 01 00 00 ................
    00 01 81 03 13 00 12 07 03 00 00 02 01 03 06 0B ................
    8C 81 00 00 00 80 00 0B 00 0B 01 01 00 00 0B F9 ................
    00 80 00 11 00 0F 01 01 00 10 0E A9 0D D4 0D F7 ................
    0E 07 0E 18 0E 26 0E 35 0E 44 0E 50 0E 72 0E 81 .....&.5.D.P.r..
    0E 90 0E 9B 0E F5 11 05 11 1A 11 50 00 80 00 05 ...........P....
    00 04 01 04 00 01 13 AF 13 B5 13 BA 14 0C 13 00 ................
    (6775 usec)
    <= 6A 80 j.
    Status: Wrong data
    jcshell: Error code: 6a80 (Wrong data)
    jcshell: Wrong response APDU: 6A80
    Unexpected error; aborting execution
    I will be very happy if you can help me. I am desperately in need of a working debugging environment.
    Thanks in advance!
    Kind regards,
    Mehmet

         * Processes incoming READ_BINARY APDUs. Returns data of the currently
         * selected file.
         * @param apdu   where the offset is carried in header bytes p1 and p2.
         * @param le  expected length by terminal
         * @return length of the response APDU
        private short processReadBinary(APDU apdu, boolean protectedApdu,  short leUnprotected) {
            if (!hasFileSelected()) {
                ISOException.throwIt(SW_CONDITIONS_NOT_SATISFIED);
            byte[] buffer = apdu.getBuffer();
            // retrieve p1p2 from apdu buffer
            byte p1 = buffer[OFFSET_P1];
            byte p2 = buffer[OFFSET_P2];
            short offset = Util.makeShort(p1, p2);     // offset encoded in P1/P2, 15 lowest bit
            // offset encoded in P1/P2, 15 lowest bit
            // check if le != 0 <-- no response expected
            if (leUnprotected == 0) {
                ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
            if (selectedFile == null) {
                ISOException.throwIt(ISO7816.SW_FILE_NOT_FOUND);
            if ((selectedFile.getAccessConditions() & READ_REQUIRES_SM) == READ_REQUIRES_SM) {
                if(!protectedApdu)
                   ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
            short fileSize = (short) selectedFile.getFileLength();
            // check offset
            if (offset >= fileSize) {
                ISOException.throwIt(ISO7816.SW_INCORRECT_P1P2);
            // check expected length
            if ((short) (offset + leUnprotected) > fileSize) {
                ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
                //ISOException.throwIt(SW_TAMAM);
            short bufferOffset = 0;
            crypto.setEncryptionStatus(isSelectedFileEncrypted());
            if (protectedApdu) {
                bufferOffset = crypto.getApduBufferOffsetDT(leUnprotected);
                if(isSelectedFileEncrypted())
                   bufferOffset = crypto.getApduBufferOffset(leUnprotected);
                apdu.setOutgoing();
            Util.arrayCopyNonAtomic(selectedFile.getData(), offset, buffer, bufferOffset, leUnprotected);
            return leUnprotected;
         * Processes and UPDATE_BINARY apdu. Writes data in the currently selected
         * file.
         * @param apdu
         *            carries the offset where to write date in header bytes p1 and
         *            p2.
        private void processUpdateBinary(APDU apdu, boolean protectedApdu) {
            if (!hasFileSelected() || isLocked()) {
                ISOException.throwIt(ISO7816.SW_COMMAND_NOT_ALLOWED);
            if ((selectedFile.getAccessConditions() & DigitalTachograph.UPDATE_ALW) != DigitalTachograph.UPDATE_ALW) {
                if ((selectedFile.getAccessConditions() & DigitalTachograph.UPDATE_REQUIRES_SM) != DigitalTachograph.UPDATE_REQUIRES_SM) {
                    ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
                    return;
                }else if(!protectedApdu){
                        ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
            byte[] buffer = apdu.getBuffer();
            byte p1 = buffer[OFFSET_P1];
            byte p2 = buffer[OFFSET_P2];
            short offset = Util.makeShort(p1, p2);
            short readCount = (short) (buffer[ISO7816.OFFSET_LC] & 0xff);
            //if (!protectedApdu){
                readCount = apdu.setIncomingAndReceive();
            while (readCount > 0) {
                selectedFile.writeData(offset, buffer, OFFSET_CDATA, readCount);
                offset += readCount;
                readCount = apdu.receiveBytes(ISO7816.OFFSET_CDATA);
        private short processInternalAuthenticate(APDU apdu , boolean protectedApdu) throws CryptoException {
            byte[] buffer = apdu.getBuffer();
            short lc = (short) (buffer[OFFSET_LC] & 0xFF);
            if (lc != (short) (KID_LENGTH * 2)) {
                ISOException.throwIt(SW_WRONG_LENGTH);
            if (apdu.setIncomingAndReceive() != lc) {
                ISOException.throwIt(ISO7816.SW_WRONG_DATA);
            // Check if VU.CHR maches the one of the selected certificate on the card
            if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + KID_LENGTH), keyStore.selected_KID, (short) 0, KID_LENGTH) != 0) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            if (Util.arrayCopyNonAtomic(buffer, OFFSET_CDATA, Rnd1, (short) 0, (short) 8) != (short) 8) { // Receive Rnd1
                ISOException.throwIt(ISO7816.SW_WRONG_DATA);
            // Hash(PRnd2||K1||Rnd1||VU.CHR)
            random.generateData(PRnd2, (short) 0, (short) 90);
            random.generateData(K1, (short) 0, (short) 16);
            crypto.shaDigest.update(PRnd2, (short) 0, (short) 90); // PRnd2
            crypto.shaDigest.update(K1, (short) 0, (short) 16); // PRnd2||K1
            crypto.shaDigest.doFinal(buffer, OFFSET_CDATA, lc, digest, (short) 0); //Rnd1||VU.CHR
            BigNumber mod = new BigNumber((short) 128);
            mod.init(keyStore.Card_PubMod, (short) 0, (short) keyStore.Card_PubMod.length, BigNumber.FORMAT_HEX);
            mod.subtract(signed, (short) 0, (short) 128, BigNumber.FORMAT_HEX);
            if (mod.compareTo(signed, (short) 0, (short) 128, BigNumber.FORMAT_HEX) == -1) {
                mod.toBytes(signed, (short) 0, (short) 128, BigNumber.FORMAT_HEX);
            // To be added: if the selected private key is considered corrupted, the processing state returned is '6400' or '6581'.
            signed[0] = (byte) 0x6A;
            Util.arrayCopyNonAtomic(PRnd2, (short) 0, signed, (short) 1, (short) 90);
            Util.arrayCopyNonAtomic(K1, (short) 0, signed, (short) 91, (short) 16);
            Util.arrayCopyNonAtomic(digest, (short) 0, signed, (short) 107, (short) 20);
            signed[127] = (byte) 0xBC;
            if (!keyStore.cardPrivateKey.isInitialized()) {
                CryptoException.throwIt(CryptoException.ILLEGAL_VALUE);
            try {
                crypto.rsaSigner.init(keyStore.cardPrivateKey, Signature.MODE_SIGN);
                crypto.rsaSigner.doFinal(signed, (short) 0, (short) 128, signed, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            if (!keyStore.selectedPublicKey.isInitialized()) {
                CryptoException.throwIt(CryptoException.ILLEGAL_VALUE);
            try {
                crypto.rsaCipher.init(keyStore.selectedPublicKey, Cipher.MODE_ENCRYPT);
                crypto.rsaCipher.doFinal(signed, (short) 0, (short) 128, signed, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            apdu.setOutgoing();
            Util.arrayCopyNonAtomic(signed, (short) 0, buffer, (short) 0, (short) 128);
            return (short) signed.length;
        private void processExternalAuthenticate(APDU apdu) {
            short equipmentType = 0;
            if (keyStore.Selected_Cert != null) {
                equipmentType = (short) keyStore.Selected_Cert.CHA[6]; // check equipment type
            if (equipmentType != (short) 1 && equipmentType != (short) 2 && equipmentType != (short) 3 && equipmentType != (short) 4 && equipmentType != (short) 6) {
                ISOException.throwIt(ISO7816.SW_FUNC_NOT_SUPPORTED); // Instead of 6F00 throw a more meaningfull SW in case CHA is not valid.
            if (Util.arrayCompare(keyStore.Selected_Cert.CHA, (short) 0, TACHOGRAPH_AID, (short) 0, (short) 6) != 0) {
                ISOException.throwIt(ISO7816.SW_FUNC_NOT_SUPPORTED);
            byte[] buffer = apdu.getBuffer();
            byte p1 = (byte) (buffer[OFFSET_P1] & 0xff);
            byte p2 = (byte) (buffer[OFFSET_P2] & 0xff);
            if (p1 != 0 || p2 != 0) {
                ISOException.throwIt(SW_WRONG_P1P2);
            short lc = (short) (buffer[OFFSET_LC] & 0xFF);
            if (lc != (short) (128)) {
                ISOException.throwIt(SW_WRONG_LENGTH);
            if (apdu.setIncomingAndReceive() != lc) {
                ISOException.throwIt(ISO7816.SW_WRONG_DATA);
            Util.arrayCopyNonAtomic(buffer, OFFSET_CDATA, signed, (short) 0, (short) 128); // receive the cryptogram from the VU
            // decrypt the encrypted message with the card private key
            try {
                crypto.rsaCipher.init(keyStore.cardPrivateKey, Cipher.MODE_DECRYPT);
                crypto.rsaCipher.doFinal(signed, (short) 0, (short) 128, signed, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            // verify the signature with the VU public key
            try {
                crypto.rsaCipher.init(keyStore.selectedPublicKey, Signature.MODE_VERIFY); // Cipher.MODE_ENCRYPT
                crypto.rsaCipher.doFinal(signed, (short) 0, (short) 128, signed, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            if (signed[0] != (byte) 0x6A || signed[127] != (byte) 0xBC) {
                ISOException.throwIt(Util.makeShort(signed[0], signed[127]));
            try {
                verifyCardCertificates();
                Util.arrayCopyNonAtomic(signed, (short) 1, preDigest, (short) 0, (short) 106); // accumulate preDigest
                Util.arrayCopyNonAtomic(Rnd3, (short) 0, preDigest, (short) 106, (short) 8); // accumulate preDigest
                Util.arrayCopyNonAtomic(keyStore.Card_Cert.CHR, (short) 0, preDigest, (short) 114, (short) 8); // accumulate preDigest
                Util.arrayCopyNonAtomic(signed, (short) 91, K2, (short) 0, (short) 16); // receive K2 value
                crypto.shaDigest.update(signed, (short) 1, (short) 106); // PRnd4||K2
                crypto.shaDigest.update(Rnd3, (short) 0, (short) 8); // Rnd3
                crypto.shaDigest.doFinal(keyStore.Card_Cert.CHR, (short) 0, (short) 8, digest, (short) 0); //||Card.CHR
            } catch (Exception e) {
                ISOException.throwIt(SW_TAMAM);
            if (Util.arrayCompare(signed, (short) 107, digest, (short) 0, (short) 20) != 0) {
                ISOException.throwIt(SW_TAMAM);
            volatileState[0] |= MUTUAL_AUTHENTICATED;
            try {
                DTUtil.xor(K1, (short) 0, K2, (short) 0, KaKb, (short) 0, (short) 16);
                Util.arrayCopyNonAtomic(Rnd3, (short) 4, SSC, (short) 0, (short) 4); // tail of Rnd3
                Util.arrayCopyNonAtomic(Rnd1, (short) 4, SSC, (short) 4, (short) 4); // tail of Rnd1
            } catch (Exception e) {
                ISOException.throwIt(SW_TAMAM);
            try {
                keyStore.setKey_Ka(KaKb, (short) 0);
                keyStore.setKey_Kb(KaKb, (short) 8);
                keyStore.setSecureMessagingKeys(KaKb, (short) 0, KaKb, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_TAMAM_DEGIL);
            return;
        private short returnPreDigest(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            apdu.setOutgoing();
            Util.arrayCopyNonAtomic(preDigest, (short) 0, buffer, (short) 0, (short) 122);
            return (short)preDigest.length;
        private short returnDigest(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            apdu.setOutgoing();
            Util.arrayCopyNonAtomic(digest, (short) 0, buffer, (short) 0, (short) 20);
            return (short)digest.length;
        private short returnOriginalText(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            apdu.setOutgoing();
            Util.arrayCopyNonAtomic(signed, (short) 0, buffer, (short) 0, (short) 128);
            return (short)signed.length;
        private void processVerify(APDU apdu) { // Verify_CHV(Pin_Ws)
            byte[] buffer = apdu.getBuffer();
            // retrieve the PIN data for validation.
            byte byteRead = (byte) (apdu.setIncomingAndReceive());
            // the PIN data is read into the APDU buffer
            // at the offset ISO7816.OFFSET_CDATA the PIN data length = byteRead
            if (pin.check(buffer, ISO7816.OFFSET_CDATA, byteRead) == false) {
                ISOException.throwIt(SW_VERIFICATION_FAILED);
            return;
        private void processPSO(APDU apdu) { // verify certificate
            byte[] buffer = apdu.getBuffer();
            byte p1 = (byte) (buffer[OFFSET_P1] & 0xff);
            byte p2 = (byte) (buffer[OFFSET_P2] & 0xff);
            short lc = (short) (buffer[ISO7816.OFFSET_LC] & 0xFF);
            if (p1 == (byte) 0x00 && p2 == P2_VERIFYCERT) {
                if (lc != TACHO_CERT_LENGTH) {
                    ISOException.throwIt(SW_WRONG_LENGTH);
                if (apdu.setIncomingAndReceive() != lc) {
                    ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
                try { // copy the certificate to be verified from APDU buffer to cert object
                    Util.arrayCopyNonAtomic(buffer, OFFSET_CDATA, cert, (short) 0, lc);
                } catch (Exception e) {
                    ISOException.throwIt(SW_TAMAM);
                if (Util.arrayCompare(keyStore.selected_KID, (short) 0, keyStore.ERCA_KID, (short) 0, KID_LENGTH) == 0) {
                    keyStore.VUCA_Cert.verifyCert(cert, keyStore.selectedPublicKey, keyStore.selected_KID);
                } else if (Util.arrayCompare(keyStore.selected_KID, (short) 0, keyStore.VUCA_Cert.CHR, (short) 0, KID_LENGTH) == 0) {
                    keyStore.VU_Cert.verifyCert(cert, keyStore.selectedPublicKey, keyStore.selected_KID);
                } else {
                    ISOException.throwIt(SW_CERT_VERIFICATION_FAILED); // Selected keyId, with MSE, is neither ERCA_KID nor VUCA_KID
            } else {
                ISOException.throwIt(SW_CERT_VERIFICATION_FAILED);
            return;
        private short processGetChallenge(APDU apdu, boolean protectedApdu) {
            byte[] buffer = apdu.getBuffer();
            byte p1 = (byte) (buffer[OFFSET_P1] & 0xff);
            byte p2 = (byte) (buffer[OFFSET_P2] & 0xff);
            if (p1 != 0 || p2 != 0) {
                ISOException.throwIt(SW_WRONG_P1P2);
            random.generateData(Rnd3, (short) 0, (short) 8);
            short Le = apdu.setOutgoing();
            if (Le != (short) 8) {
                ISOException.throwIt(SW_WRONG_LENGTH);
            Util.arrayCopyNonAtomic(Rnd3, (short) 0, buffer, (short) 0, (short) 8);
            return Le;
        private void processMSE(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            if (buffer[OFFSET_P1] == (byte) 0xC1 && buffer[OFFSET_P2] == P2_DST) {
                short lc = (short) (buffer[OFFSET_LC] & 0xFF);
                if (lc != (short) (KID_LENGTH + 2)) {
                    ISOException.throwIt(SW_WRONG_LENGTH);
                if (apdu.setIncomingAndReceive() != lc) {
                    ISOException.throwIt(ISO7816.SW_WRONG_DATA);
                if (buffer[OFFSET_CDATA] != (byte) 0x83) {//check the tag of the data
                    ISOException.throwIt(SW_SECURE_MESSAGING_DATA_OBJECTS_MISSING);
                } else if (buffer[OFFSET_CDATA + 1] != (byte) 0x08) {
                    ISOException.throwIt(SW_INCORRECT_DATA_OBJECT); // check if the key is already selected one
                } else if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + 2), keyStore.selected_KID, (short) 0, KID_LENGTH) != 0) {
                    if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + 2), keyStore.ERCA_KID, (short) 0, KID_LENGTH) == 0) {// KID is EUR_KID
                        keyStore.selected_KID = keyStore.ERCA_KID;
                        keyStore.selectedPublicKey = keyStore.eurPublicKey;
                        keyStore.Selected_Cert = null; // ERCA public key is selected
                        return;
                    } else if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + 2), keyStore.VUCA_Cert.CHR, (short) 0, KID_LENGTH) == 0) {// KID is MSCA_KID
                        keyStore.Selected_Cert = keyStore.VUCA_Cert;
                    } else if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + 2), keyStore.VU_Cert.CHR, (short) 0, KID_LENGTH) == 0) { // KID is VU_KID
                        keyStore.Selected_Cert = keyStore.VU_Cert;
                    } else {
                        ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
                    }// KID not found
                    keyStore.selectedPublicKey = keyStore.Selected_Cert.publicKey;
                    keyStore.selected_KID = keyStore.Selected_Cert.CHR;
                } else { // if the KID is already set, just return
                    return;
            } else {
                ISOException.throwIt(ISO7816.SW_WRONG_P1P2);
        private void processSelectFile(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            short lc = (short) (buffer[OFFSET_LC] & 0x00FF);
            // retrieve p1p2 from apdu buffer
            byte p1 = buffer[OFFSET_P1];
            byte p2 = buffer[OFFSET_P2];
            short p1p2 = Util.makeShort(p1, p2);
            apdu.setIncomingAndReceive();
            if (p1 == 4) {
                if (lc == (short) TACHO_AID_LENGTH) {
                    if (Util.arrayCompare(buffer, (short) OFFSET_CDATA, TACHOGRAPH_AID, (short) 0, (short) TACHO_AID_LENGTH) == 0) {
                        selectedFile = fileSystem.getDT();
                        fileSystem.selectDT();
                        volatileState[0] |= FILE_SELECTED;
                        return;
                    } else {
                        ISOException.throwIt(ISO7816.SW_WRONG_DATA);
                } else if (lc != 2) {
                    ISOException.throwIt(SW_WRONG_LENGTH);
                short fid = Util.getShort(buffer, OFFSET_CDATA);
                if (fileSystem.getFile(fid) != null) {
                    selectedFile = fileSystem.getDT();
                    fileSystem.selectDT();
                    volatileState[0] |= FILE_SELECTED;
                    return;
            } else if (p1 == 2) {
                if (lc != 2) {
                    ISOException.throwIt(SW_WRONG_LENGTH);
                short fid = Util.getShort(buffer, OFFSET_CDATA);
                if (fileSystem.getFile(fid) != null) {
                    selectedFile = fileSystem.getFile(fid);
                    volatileState[0] |= FILE_SELECTED;
                    return;
            } else {
                ISOException.throwIt(ISO7816.SW_WRONG_P1P2);
            setNoFileSelected();
            ISOException.throwIt(ISO7816.SW_FILE_NOT_FOUND);
        public static void setNoFileSelected() {
            if (hasFileSelected()) {
                volatileState[0] ^= FILE_SELECTED;
        public static boolean hasFileSelected() {
            return (volatileState[0] & FILE_SELECTED) == FILE_SELECTED;
        public static boolean hasMutuallyAuthenticated() {
            return (volatileState[0] & MUTUAL_AUTHENTICATED) == MUTUAL_AUTHENTICATED;
        static boolean isLocked() {
            return (persistentState & LOCKED) == LOCKED;
        public boolean isSelectedFileEncrypted() {
            return ((selectedFile.getAccessConditions() & DigitalTachograph.ENCRYPTED) == DigitalTachograph.ENCRYPTED);
    }

  • Using Eclipse project definitions to build the Flex SDK

    It would be great if someone from Adobe could post on the recommended usage of the Eclipse project definitions in the development/eclipse/ subdirectory of the 3.0.x trunk distribution. I would like to debug some compiler modifications that I am working on.
    I saw Peter Farland demo this setup at 360Flex, but was unable to capture all the details of the Eclipse configuration that he discussed in his talk.
    thanks!

    If you go to the framework project’s properties, there is a section called Flex Library Compiler, you want to use a specific flex sdk (add a new sdk which points to the trunk, and use that) — you are probably building /against/ the wrong sdk, right code, wrong compiler.
    - Jono
    From: Ben Clinkinbeard <[email protected]>
    Reply-To: <[email protected]>
    Date: Thu, 3 Apr 2008 12:56:01 -0700
    To: <[email protected]>
    Subject: Re: Using Eclipse project definitions to build the Flex SDK
    A new message was posted by Ben Clinkinbeard in
    Developers --
      Using Eclipse project definitions to build the Flex SDK
    Sorry, I'm not following. My SDK project is from the trunk.
    Thanks,
    Ben
    On Thu, Apr 3, 2008 at 3:32 PM, Jono Spiro <[email protected]> wrote:
    A new message was posted by Jono Spiro in
    Developers --
      Using Eclipse project definitions to build the Flex SDK
    Try changing the sdk for the framework lib project to trunk (you'll need to add a new flex sdk, name it whatever you want) -- it's in the project properties. It's using the wrong compiler.
    - Jono
    From: Ben Clinkinbeard <[email protected]>
    Reply-To: <[email protected]>
    Date: Thu, 3 Apr 2008 05:13:43 -0700
    To: <[email protected]>
    Subject: Re: Using Eclipse project definitions to build the Flex SDK
    A new message was posted by Ben Clinkinbeard in
    Developers --
      Using Eclipse project definitions to build the Flex SDK
    I am running FB on top of Eclipse 3.3.2.
    <http://3.3.2.>  <
    <http://3.3.2.>
    http://3.3.2.>  I checked out the whole SDK trunk and can build the main ant task with no errors. I used the instructions mentioned above to create a Flex framework library project and thats where the error comes in. (I had tried to manually build a framework project a few times and it was a nightmare.) I would probably prefer to work on the 3.0.x branch/tag as I hope to submit a patch or two but saw Joe mention that the project defs only existed in the trunk.
    Searching Google for the oem error turns up lots of links about projects that had assets deleted and the build got confused but following the instructions on how to fix proved unsuccessful.
    Thanks,
    Ben
    On Thu, Apr 3, 2008 at 1:45 AM, Jono Spiro <[email protected]> wrote:
    A new message was posted by Jono Spiro in
    Developers --
      Using Eclipse project definitions to build the Flex SDK
    I always forget what that error means when it comes up -- though it's been ages since I've seen it last, literally.
    Joe: Since you mention Java 1.5, I'm guessing the errors are in the asdoc package? Those should be turned off (read: turned into a warning) -- Eclipse is a little too persnickety about that particular error. There's a preference for this in the Java section under warnings and errors. It's turned off in the trunk dev projects. Otherwise, you should be able to run the compiler directly with no problems (okay, one more caveat: there's a class loader issue with the OEM, fixed in trunk if you look for my Java 1.5 checkin).
    Ben: What is your setup? What are you building (Ryan mentions trunk, Joe mentions 30x), which Eclipse, which dev projects, did you build the sdk from the commandline first, etc.?
    Cheers,
    Jono
    View/reply at Using Eclipse project definitions to build the Flex SDK <
    <http://www.adobeforums.com/webx?13@@.59b4a9d4/3>
    http://www.adobeforums.com/webx?13@@.59b4a9d4/3>
    Replies by email are OK.
    Use the unsubscribe <
    <http://www.adobeforums.com/webx?280@@.59b4a9d4%21folder=.3c060fa3>
    http://www.adobeforums.com/webx?280@@.59b4a9d4%21folder=.3c060fa3>  form to cancel your email subscription.
    View/reply at Using Eclipse project definitions to build the Flex SDK <
    <http://www.adobeforums.com/webx?13@@.59b4a9d4/5>
    http://www.adobeforums.com/webx?13@@.59b4a9d4/5>
    Replies by email are OK.
    Use the unsubscribe <
    <http://www.adobeforums.com/webx?280@@.59b4a9d4%21folder=.3c060fa3>
    http://www.adobeforums.com/webx?280@@.59b4a9d4!folder=.3c060fa3
    <http://www.adobeforums.com/webx?280@@.59b4a9d4%21folder=.3c060fa3> >  form to cancel your email subscription.
    View/reply at Using Eclipse project definitions to build the Flex SDK
    <http://www.adobeforums.com/webx?13@@.59b4a9d4/6>
    Replies by email are OK.
    Use the unsubscribe
    <http://www.adobeforums.com/webx?280@@.59b4a9d4%21folder=.3c060fa3>  form to cancel your email subscription.
    View/reply at Using Eclipse project definitions to build the Flex SDK
    <http://www.adobeforums.com/webx?13@@.59b4a9d4/7>
    Replies by email are OK.
    Use the unsubscribe
    <http://www.adobeforums.com/webx?280@@.59b4a9d4!folder=.3c060fa3>  form to cancel your email subscription.

  • Debug ejb

    I want to debug ejb with weblogic. I use eclipse2.1 as IDE. I can run
    myEjbTestCase correctly in running mode. I can start Weblogic in debug mode
    correctly.
    But when I add a breakpoint when in Weblogic in debug mode, I got error:
    Attempping to install a breakpoint in the tpye of myEjbTestCase that has
    no line number attributes. The breakpoint can not be installed. Class file
    must be generated with line number attribute.
    Reason:
    Absent line number information.
    Looking forword to your comment.
    Stephen

    Hm, this is JVM debugger too slow, not JDeveloper. JDev is just a wrapper for standard debugger.
    null

  • Dbxml 2.3.10 build using Eclipse

    Can the dbxml 2.3.10 be built using the Eclipse IDE on Windows XP? I do not have Visual Studio as the README suggests using.
    Right now I do not have a jar directory under my dbxml install directory and do not have the required libraries: db.jar, dbxml.jar and dbxmlexamples.jar
    Is there a binary download of dbxml so I do not have to build?

    The Java libraries for dbxml require you to build C++ libraries, so Eclipse for Java developers cannot be used to build it.
    However, you can use the free version of Visual Studios, Visual Studios Express Edition, to build dbxml. The jar directory and files will be created during the build, and once built you can use Eclipse to develop in Java.
    Eclipse does have issues with the directory structure of the Java example programs, but it works very well with the Java API source. Plus, if you are feeling adventurous you can set up Eclipse and Visual Studio to work together so you can debug both the Java and the C++ at once.
    Lauren Foutz

  • Debuging EJB in JBoss with JDeveloper

    Can anyone tell me tell me what I have to do to debug EJB on a JBoss 3.2.1 server with JDeveloper 9.0.3???

    Go to http://localhost:8082 and check the JNDI-View MBean. Check both the java and global namespace. If you are outside of the EJB-Container then you have to use the global namespace. The glocal namespace should have your EJB. Use this path as name to do a JNDI look up. Also be sure you are using narrow.

  • Debuging with Sun java AS and eclipse

    hi,
    i'm using eclipse 3.4 and sun java as 8.2 as application server.
    when i used first tomcat and in my code i put system.out.println("...") the console showed the result, now using sun as i can not see anything ?
    what to do to print in the console (without running in debug mode if possible).

    I found an acceptable work-around for this issue of not being able to specify Sun Java as the default JRE for browsers in our environment.
    I replaced our APPLET tags with OBJECT tags in our HTML code.  This allowed me to specify a Java version using a classid value, like so:
    Original APPLET tag:
    <applet name="SPCchart" code="iSPCChart" codebase="/XMII/Classes" archive="illum8.zip" mayscript>
      <param name="QueryTemplate" value="Metrics_ING/ING_010Query">
      <param name="DisplayTemplate" value="Metrics_ING/ING_010SPCChart">
    </applet>
    New OBJECT tag:
    <object  name="SPCChart" classid="clsid:CAFEEFAC-0016-0000-FFFF-ABCDEFFEDCBA" mayscript>
      <PARAM name="code" value="iSPCChart">
      <PARAM name="codebase" value="/XMII/Classes">
      <PARAM name="archive" value="illum8.zip">
      <param name="QueryTemplate" value="Metrics_ING/ING_010Query">
      <param name="DisplayTemplate" value="Metrics_ING/ING_010SPCChart">
    </object>
    The specific classid specifies any Java version in the 1.6.0 family.  (We're using 1.6.0_05)
    We're not yet in production so we're not talking about having to update thousands of APPLET tags.
    Does anyone see any problem to this approach - switching APPLET tags to OBJECT tags and specifying the appropriate Java CLASSID?
    David

Maybe you are looking for

  • Error when installing RAC on windows 2000

    Hi, I'm installing Oracle 9i(9.0.1.1.1 EE) RAC for the first time. It has been an interesting experience, with many bumps in the road. But now I'm stuck. I have installed the 9i EE software, but when I try to create a database ( using DBCA), I get an

  • How to enable collaboration features in BusinessObjects 4.1

    Hi guys, Can we have collaboration features such as chat, forum, discussion in SAP BusinessObjects 4.1. For example, one client open a report and the others can comment on that session at the same time. Thanks

  • Im trying to uninstall itunes and it says im not an administrator and it wont let me

    Im trying to uninstall my itunes so that I can reinstall a newer version. When I go to uninstal it wont let me it says I am not logged in as an adminstrator???

  • MS-9130 trying onboard SATA for first time, BIOS error messages

    I have a K8T/MS-9130 based system with a single OPTERON 144 CPU and 2GB RAM. It was in service for a long time, then stored, now I am returning it to service but need to use SATA HDD. When I enabled SATA on BIOS, I now receive messages like this, dur

  • Video Conference question

    Hi, I am testing a videoconference application and I got the following error when I try to run it: "Can't open local data port". What could it be? If anybody has a videoconference application to send me, I would be very grateful. My e-mail is [email