JDeveloper & Eclipse Plugins
Hello,
I thought Oracle wrote the specification regarding plugins? If that is true, will Eclipse follow these same guidelines and thus a plugin will be able to work in either JDev or Eclipse? There are so many more Eclipse plugin available it seems much more logical to pick Eclipse over JDev.
The reason Eclipse has so many extensions is because
it is missing so much functionality that is built-in
in JDeveloper.Wow, what an argument Shay..., I'm guessing that is why Collaxa (or should I say Oracle BPEL) made their plug-ins in Eclipse and not JDeveloper.
In my opinion Oracle should drop JDeveloper and start working on opening up their frameworks, like ADF, by building plug-ins like Collaxa did. Focus on what you do best, that being database and application server. I really believe ADF is a great framework, but think you would have a difficult time "selling" it to a prospect who isn't already using some or all of Oracle's stack.
Also have a look at: http://theserverside.com/news/thread.tss?thread_id=27543
Similar Messages
-
Eclipse plugin vs JDeveloper plugin
Hi
I recently installed the Oracle BPEL Designer Eclipse plugin and realized that it doesn't have the User Workflow extensions that the Oracle JDeveloper plugin has for almost a year. Any ideas when will the Designer plugin have the latest designer features.When i import the source code and try to compile i get huge number of compilation errors as below. Below are only few examples. I have set the external libraries and jars for all the related projects. Any idea or pointers why the code with Generics has problem.
Thanks,
Krishna
Error(466,27): method load(com.xxx.base.api.datatypes.EntityId<?>) not found in class com.xxx.base.support.schema.MaintenanceObjectInfo
Error(234,50): method copyEntity(E, java.util.Map<java.lang.String,java.lang.Object>, com.xxx.base.api.datatypes.EntityId<E>, com.xxx.shared.environ.DataElementDefinition, java.lang.String) in class com.xxx.base.domain.common.metaDataUserInterfaceReference.MetaDataUserInterfaceReferenceMaintenance_Gen cannot override method copyEntity(E, java.util.Map<java.lang.String,java.lang.Object>, com.xxx.base.api.datatypes.EntityId<E>, com.xxx.shared.environ.DataElementDefinition, java.lang.String) in class com.xxx.base.support.pagemaintenance.AbstractPageMaintenance with different return type, was E
Error(58,38): incompatible types; found: class com.xxx.base.api.datatypes.StringId<com.xxx.base.domain.common.metaDataService.MetaDataService>, required: class com.xxx.base.domain.common.metaDataService.MetaDataService_Id
Error(229,49): method createDTO(java.lang.Class<T>) not found in interface com.xxx.base.support.context.Session
Error(54,49): type parameter E is out of bounds
Error(41,37): method getInfo(com.xxx.base.api.datatypes.EntityId<?>) not found in interface com.xxx.base.domain.common.foreignKeyReference.ForeignKeyReference -
Eclipse plugin for Oracle BPEL/ESB development
Do we have any plans for Eclipse plugins equivalent to the ones provided with JDeveloper for BPEL/ESB development?
The issue were with version of java platform. It is required to specify java 1.5 in path bacause eclipse don't use JAVA_HOME variable.
-
Hello All,
I do not know if you are all using the eclipse plugin or if you are using jdeveloper. I do not want to use jdeveloper if possible (we have been using eclipse for some time, and to install jdeveloper just for it's bpel editor seems too heavy.)
It seems that the eclipse plugin requires all of the project artifacts for a BPEL process to be in the actual eclipse project folder. When I move it outside the project and create a linked folder to the artificats the plugin complains with javascript errors and fails to show the bpel process or perform a build.
it's an odd dependency. Has anyone else observed this? Am i out to lunch here? :)I also use a workspace just for BPEL. I think that the plug-in is somehow cohesive with the project directory. Meaning that; you canât just open a BPEL file and have it work. It needs the BPEL file to be in a valid project. This stinks when you start to consider the management of BPEL projects. Project file contain machine specific information. So If I check a BPEL project in to CVS, my peers may not be able to check it out and have it work because their setup is not the same as mine. I typically do not have anything in the eclipse project except references to my check-out area.
I do have some questions about the fate of the eclipse plug in. Will Oracle continue to develop it? Release it to open source? Or abandon it for JDeveloper only. If the eclipse plug in is going to continue they should fix the problem we are discussing. -
Oracle OSB - Tutorial for development using Eclipse Plugin
Hi,
1. I need a tutorial to develop a simple application using file adapter. For example it was very easier in Oracle ESB 10.3 version where I can drag and drop adapters and configure. What should I do if I have to create similar adapters in OSB. Can you provide documentation. For Oracle ESB(old version) there was ESB Quick Start guide and it was very useful. Do we have some thing similar for OSB?
2. Most of the tutorials that are in Oracle website points to using JDeveloper. When I download the JDeveloper I no longer get those option. When I browsed I found that we should use Eclipse Plugin for OSB development. Is it true.
Thanks for your help.
Thanks,
UmaHi Uma,
You may find OSB samples and tutorials at below links -
http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/examples/samples.html
http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/tutorial/tutGettingStarted.html
http://www.oracle.com/technology/sample_code/products/osb/samples/osb_examples_tutorials_0.pdf
http://www.oracle.com/technology/products/soa/service-bus/collateral/osbsamples.html
http://www.oracle.com/technetwork/articles/jumpstart-for-osb-development-page--084104.html
Oracle service bus installer comes with a eclipse plugin which can be used to develope OSB applications using Eclipse. Refer installation guide to know more.
You should post OSB related questions in Oracle SOA Suite forum to get better and faster response -
SOA Suite
Regards,
Anuj -
Error while looking up bean from Eclipse plugin
Hi all,
I am developing an Eclipse plugin which calls session bean deployed in some j2ee engine. But I am facing a problem while I try to look up the bean. It gives me an error saying <i>"com.sap.engine.services.jndi.persistent.UnsatisfiedReferenceImpl"</i>.
I tried print out the UnsatisfiedReferenceImpl stacktrace and it says
<i>java.lang.ClassNotFoundException: com.sap.engine.services.ejb.session.stateless_sp5.SerializedHomeProxy</i>.
Does anyone have any idea?
Regards,
Satyajit.
Message was edited by:
Satyajit ChakrabortyI have solved the problem. The problem was with an extra classpath entry.
Regards,
Satyajit. -
Title says it all.... Lost 3 days finding what was the problem.
The version of Oracle Eclipse Plugin 1.3.0.200909171310
is completelly unable to a version 10.3.1.0 Server.
The server starts correctly on the command line.
In Eclipse the server instance and runtime are created correctly, but when you
try to start it from eclipse bang!
Unable to validate WebLogic domain.Please make sure the running WebLogic instance is an Administration Server
java.lang.Exception:
at oracle.eclipse.tools.weblogic.server.internal.WlsJ2EEDeploymentHelper.validateRemote(WlsJ2EEDeploymentHelper.java:1670)
at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.validateRemote(WeblogicServerBehaviour.java:2647)
at oracle.eclipse.tools.weblogic.server.internal.ServerWatcher.runOnce(ServerWatcher.java:574)
at oracle.eclipse.tools.weblogic.server.internal.ServerWatcher.run(ServerWatcher.java:482)
at java.lang.Thread.run(Thread.java:619)Well, the server is not running, i just try to start it.
The message pops instantly, like in 0.5 seconds, it looks like nothing is even performed.
- what does the <name> element look like in domain/config.xml ? Does it match the server definition?
<name>dintiruni</name>
<server>
<name>intiruni0</name>
<ssl>
<name>intiruni0</name>
<enabled>true</enabled>
<listen-port>443</listen-port>
</ssl>
<listen-port>80</listen-port>
<listen-address/>
</server>
<admin-server-name>intiruni0</admin-server-name>
yep : C:\owls11gR1\domains\dintiruni\servers\intiruni0
- what is your version of JDK running Eclipse?
Sun JDK 1.6.0_17, downloaded manually.
Same JDK i use during install to run WebLogic 10.3.2.0, I had to do that, since 10.3.2.0 JDK 1.6.0_14
is not a recongnized JDK when you use -vm parameter in eclipse.ini (10.3.1.0 was working)
- Try create a new domain, make sure set it as development mode.
I think i reinstalled WebLogic more than 3 times, recreated the domain with all possible options.
Reinstalled Eclipse (J2EE with Reporting 3.5.1) with only Oracle Plugin. Recreated my workspace
3-4 times.
Additional info:
I have this message as parent item of the stacktrace in the eclipse Log tree: Another server is detected.
I had a server version 10.3.1.0, wich i just renamed the installation directory to C:\owls11gR1_10.3.1.0 and installed the 10.3.2.0 in the same directory C:\owls11gR1
I uninstalled everything, went in regedit, deleted all weblogic keys references.
Always the same problem. Im starting to loose patience... i have rarelly seen something like that.
Edit:
I also tryed with a Server version 10.3.2.0. (I abandonned 10.3.1.0 since i cannot even create the instance in eclipse)
Edited by: Rouche on Jan 7, 2010 11:42 AM -
Is there a Bug in Oracle Eclipse Plugin for OSB11gR1PS2
i have been using the Eclipse plugin for Oracle Service bus, and while desiginng the WSDL in ther design view i faced the following problem
If you create a skeleton and then add operations, they are not mapped to WSDL:binding
also if one changes the type of operation, ( from default input output in skeleton) the corrosponding changes are not reflected in WSDl....
did any1 else face the same problem while designing WSDL??
Edited by: tarang on Jun 7, 2011 4:23 PMCross post in OEPE forum as well -
Enterprise Pack for Eclipse
Regards,
Anuj -
Crystal Reports for Eclipse plugin and CR XI server
I have a software requirement in which I need to support both internal (CR Eclipse plugin using the report viewer, not sure what the real name of this is) along with external (CR XI server) reporting. In other words, I should be able to display a report (.rpt) that exists on my local app server along with one that exists on the CR XI server. My question is this:
So I have both sets of jar libraries (eclipse plugin and XI server) and I see that some of the them are overlapping (some of the jars have the same name). For the ones that overlap, should I choose the ecilipse plugin or XI server ones...?
One example I found is that the eclipse plugin rasapp.jar contains the POJOResultSetHelper class whereas the rasapp.jar from the XI server does not. In this case, I presume I should use the eclipse version, right?
Thanks for your help!
LouisHello Louis,
-If you are using latest version of CR Eclipse plugin using the report viewer,then I would recommend going for JAR files of this eclipse plugin than that of CR XI Server.
-The only reason being Eclipse plugin will give you most updated JAR files.
-Before using JAR files from Eclipse plugin, I would suggest you to update your present JAR files to latest available JAR files.
This can be done through Eclipse using update option.
And once you update them, you can use those JARs.
Thanks,
Chinmay -
Error when starting weblogic from forthnet eclipse plugin?
Hi,
I'm getting an error when trying to start my weblogic server from the forthnet eclipse plugin. (However, it works to start the server from a command prompt on the machine it is running on, and also, it works to stop the server from eclipse)
Server and eclipse is running on Windows.
The error reported is:
<2004-sep-01 kl 16:13 CEST> <Warning> <EmbeddedLDAP> <BEA-171520> <Could not obtain an exclusive lock for directory: .\decisionsite81\ldap\ldapfiles. Waiting for 10 seconds and then retrying in case existing WebLogic Server is still shutting down.>
<2004-sep-01 kl 16:13 CEST> <Warning> <EmbeddedLDAP> <BEA-171520> <Could not obtain an exclusive lock for directory: .\decisionsite81\ldap\ldapfiles. Waiting for 10 seconds and then retrying in case existing WebLogic Server is still shutting down.>
<2004-sep-01 kl 16:13 CEST> <Warning> <EmbeddedLDAP> <BEA-171520> <Could not obtain an exclusive lock for directory: .\decisionsite81\ldap\ldapfiles. Waiting for 10 seconds and then retrying in case existing WebLogic Server is still shutting down.>
<2004-sep-01 kl 16:13 CEST> <Warning> <EmbeddedLDAP> <BEA-171520> <Could not obtain an exclusive lock for directory: .\decisionsite81\ldap\ldapfiles. Waiting for 10 seconds and then retrying in case existing WebLogic Server is still shutting down.>
<2004-sep-01 kl 16:13 CEST> <Error> <EmbeddedLDAP> <BEA-171519> <Could not obtain an exclusive lock to the embedded LDAP data files directory: .\decisionsite81\ldap\ldapfiles because another WebLogic Server is already using this directory. Ensure that the first WebLogic Server is completely shutdown and restart the server.>
<2004-sep-01 kl 16:13 CEST> <Critical> <WebLogicServer> <BEA-000364> <Server failed during initialization. Exception:weblogic.server.ServiceFailureException: Could not obtain an exclusive lock to the embedded LDAP data files directory: .\decisionsite81\ldap\ldapfiles because another WebLogic Server is already using this directory. Ensure that the first WebLogic Server is completely shutdown and restart the server.
weblogic.server.ServiceFailureException: Could not obtain an exclusive lock to the embedded LDAP data files directory: .\decisionsite81\ldap\ldapfiles because another WebLogic Server is already using this directory. Ensure that the first WebLogic Server is completely shutdown and restart the server.
at weblogic.ldap.EmbeddedLDAP.ensureExclusiveAccess(EmbeddedLDAP.java:959)
at weblogic.ldap.EmbeddedLDAP.initialize(EmbeddedLDAP.java:221)
at weblogic.t3.srvr.T3Srvr.initializeHere(T3Srvr.java:814)
at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:664)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:342)
at weblogic.Server.main(Server.java:32)
>
<2004-sep-01 kl 16:13 CEST> <Emergency> <WebLogicServer> <BEA-000342> <Unable to initialize the server: weblogic.server.ServiceFailureException: Could not obtain an exclusive lock to the embedded LDAP data files directory: .\decisionsite81\ldap\ldapfiles because another WebLogic Server is already using this directory. Ensure that the first WebLogic Server is completely shutdown and restart the server.>
I've tried removing the "EmbeddedLDAP.lok" file, but without luck.Which version of your eclipse? I am using eclipse 3.0 and I am able to start weblogic 8.1 from eclipse.
I did the following steps:
1.create a new domain through weblogic's configuration wizard --> basic weblogic server domain --> Express --> proive the user name and password --> development mode, and sun sdk (or other jdk) --> your new domain name
2. configure weblogic setting in eclipse: preferences --> weblogic --> 8.1, C:\bea\weblogic81, your newly created domain name --> C:\bea\user_projects\domains (domain directory) --> myserver --> admin (or your user name) --> password --> localhost --> 7001
after that, you should be able to click on "start weblogic server" button from toolbar.
Hope my two cents solve your problem. -
How to start weblogic in debug mode from BEA WebLogic Eclipse plugin
I have a problem making weblogic work with eclipse3.1. I am using a BEA WebLogic plugin to handle weblogic (start/stop) from eclipse. However I want to debug my application and I am unable to figure out a way to start my weblogic in debug mode like we do in WSAD. I tried using some other plugins also but no luck. Please suggest me a plugin to handle this or any other way of debugging my application from eclipse. I am using weblogic 8.1.
Hi,
Dev Environment
weblogic eclipse plugin 2.0 beta
weblogic server 8.1
eclipse 3.1.1
Created a server that i would like to deploy my EJB so that i can put break points on my EJB in eclipse.
How do i do it?
I managed to deploy an ear (containing the ejb) directly to the weblogic installed folder and it deployed the ejb. But the breakpoint set in eclipse is not triggered. Of course in this case as weblogic server is running the .ear file deployed manually in the file system.
Any help is appreciated.
Mel -
"Error running javac.exe compiler" when using ant to compile Eclipse plugin
Hi
I encounter an error "Error running C:\jdk1.5.0_06\bin\javac.exe compiler" when building my project using ant1.7.
My project has 10 eclipse plugins, and each plugin is compiled by invoking following ant target
<!-- ===================================================================
Compile specified plugin
target parameters:
param.plugin.dir: the plugin directory
param.plugin.targetJarFile: the name of jar file for the given plugin
param.plugin.src.dir: the folder name of source codes. Note: it is relative path name
param.fork: indicate if another process is forked to run javac
=================================================================== -->
<target name="compilePlugin">
<!-- Prepare compile environment -->
<!-- Delete obsolete build folder -->
<delete dir="${param.plugin.dir}/${build.dir}" quiet="true"/>
<!-- Delete obsolete jar file -->
<delete file="${param.plugin.dir}/${param.plugin.targetJarFile}" quiet="true"/>
<mkdir dir="${param.plugin.dir}/${build.dir}"/>
<!-- Compile source codes -->
<javac srcdir="${param.plugin.dir}/${param.plugin.src.dir}"
destdir="${param.plugin.dir}/${build.dir}"
failonerror="${javacFailOnError}"
verbose="${javacVerbose}"
debug="${javacDebugInfo}"
deprecation="${javacDeprecation}"
optimize="${javacOptimize}"
source="${javacSource}"
target="${javacTarget}"
fork="${param.fork}" memoryInitialSize="256m" memoryMaximumSize="512m">
<classpath refid="compile.classpath" />
</javac>
<!-- Create plugin jar file -->
<copy todir="${param.plugin.dir}/${build.dir}" failonerror="true">
<fileset dir="${param.plugin.dir}/${param.plugin.src.dir}" excludes="**/*.java, **/package.htm*" />
</copy>
<jar jarfile="${param.plugin.dir}/${param.plugin.targetJarFile}" basedir="${param.plugin.dir}/${build.dir}"/>
<delete dir="${param.plugin.dir}/${build.dir}" quiet="true"/>
</target>
Since each of first 9 plugins contains less than 500 java source files, we always set "param.fork" to false when invoking this ant target.
For the 10th plugin, it has about 1000 source files. If we set "param.fork" to false, we will get the error "Error running javac.exe compiler". So we have to set "param.fork" to true when compiling it. This week, this plugin contains about 1250 files and we get the same error again when compiling it. I tried to increase the "memoryMaximumSize" to "768", but still couldn't get through it.
BTW, There are about 150 jar files in our classpath for compiling plugins. Do many jar files cause this problem?
Any help is highly appreciated.
Many thanks
OceanmanI encountered a very similar error and I was able to resolve it by removing the following parameters from the javac task:
fork="${param.fork}"
memoryInitialSize="256m"
memoryMaximumSize="512m"My values were not the same as yours, before I removed them, the values were set to:
fork="true"
memoryInitialSize="256m"
memoryMaximumSize="256m" Not sure why this fixed my problem but it did. I was using Ant 1.7 and Java 1.6_07 hope this helps. -
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);
} -
Flex 3.2 & 3.3 Framework Issue w/ Eclipse Plugin
Hey Guys,
I'm having an issue with using the 3.2 and 3.3 frameworks with the eclipse plugin (not an issue with the stand alone flex builder) (eclipse v3.3.2). Pretty much everything works but the code hinting and auto importing doesn't work on some items. For example anything in the "flash" package structure (ie: Event) will not import, and even worse within actionscript files, if the imports are manually typed out, the next time it does auto import something it'll actually run clean up on the file and delete the manually typed imports. Also when typing out in mxml certain components, for example an mx:Button, the code hinting will not recognize certain attribues such as "click". At compile time all is well and works fine as long as everything is manually typed in there. Of course to really be an efficient coder manually typing and retyping certain imports over and over is not the answer.
Thanks in advance!
~JamieI've been using the FB Eclipse plugin (with Eclipse 3.4 and SDK 3.2.0) quite a bit and haven't had this problem at all, so I'm just taking a stab in the dark here to try to help. It sounds to me like there might be an incorrect setting in your Flex Build Path properties or something related. Make sure your project has the correct Flex SDK selected in the Library path, and make sure all the .swc files are showing up underneath it. In particular, look for playerglobal.swc (that's the file that contains e.g. flash.events.Event).
If that doesn't help, you really need to provide a little more information in your question, like:
What have you already tried doing to fix the problem? (For example, have you completely uninstalled and then reinstalled the Flex Builder Plugin since switching SDKs? I didn't need to do this the last time I upgraded the SDK, but I'd say it's worth a try, since the installation process is pretty painless.)
Have you changed any of the Flex settings in Eclipse?
If you're working with a project you created previously, have you tried creating a brand new Flex project in Eclipse to see if the problem persists in a new project? -
Flex Builder 3 Eclipse Pluginのダウンロードができません。サポートが終了したのでしょか?
I'm not quite sure what has gone wrong here, but can you
please try launching with the "-clean" command line option? E.g.
from the command line:
eclipse -clean
or
flexbuilder -clean
Some background, in case it helps: Although I don't know why
this has happened, it appears that a DLL is missing. Almost all of
Flex Builder is written in Java, but there are a few bits of native
code. In your "plugins" directory (e.g. "C:\Program
Files\Adobe\Flex Builder 3\plugins", or ""C:\Program
Files\Adobe\Flex Builder 3 Plug-in\eclipse\plugins", something like
that) should be either a file or a directory called
com.adobe.flexbuilder.utils.osnative_3.0.*.jar (where "*" is a
six-digit number). Inside that jar file, among other things, should
be a file called os/win32/x86/JNIToNativeBridge.dll. Please note,
there are two plugins with similar names:
com.adobe.flexbuilder.utils.osnative, and
com.adobe.flexbuilder.utils.osnative.win. The one I am referring to
here is the one that does *not* have "win" in the name.
Eclipse caches lots of stuff; one thing it does is, if it
finds a DLL in a plugin, it sometimes copies that DLL to another
place, called the configuration directory. The "-clean" option
tells Eclipse to discard its cache.
Please let me know whether this resolves the problem.
Maybe you are looking for
-
ITunes 11.1.4.62 my iPhone 3GS.
I have upgraded to iTunes 11.1.4.62 and it no longer recognizes when I connect my iPhone 3GS. Windows 8.1 recognizes it ok. iTunes has no problem syncing my ancient iPod. I have tried reinstalling iTunes, deleting all iTunes programmes and drivers an
-
PSE7, PS CS4, Organizer, Bridge, Camera Raw, Canon DPP
I'm trying to develop a process for using the various tools available to easily browser through a shoot's photos, zoom as needed, choose favorites, make any changes, etc. I have PSE7/Organizer, Bridge/PS CS4, Camera Raw for both PSE7 and PS CS4, and
-
Photosmart 7250 keeps dropping wireless connection have to reset daily
photosmart 7250 keeps dropping wireless connection have to reset daily
-
Premiere Pro CS6 won't load audio volume.
When I open my project I get this: Then, none of the volume adjustments work on the timeline. Everything you need to know: Mac OSX Snow Leopard Premiere Pro CS6 (Production Premium) Project imported from FCP7 XML, although I have removed all effects
-
Update rollup 2 for SCOM 2012 R2 broke sharepoint and visio 2010 SCOM integration
I just applied UR2 to my test environment and I find that it has broken my SharePoint webpart, webconsole, and visio integration? What's the fix? I receive "Secure Store Service did not performed the operation." from the dashboard web part, and "The