Calling native libraries from OC4J (howto config)

Hello folks,
I need your help. I am trying to set up OC4J so that I can call native libraries from my servlet. Could you point me to the respective documentation or give a hint on how to configure OC4J for this? Thank you.
GKK

gday GKK --
I don't have an example, so I'm working from memory here and assuming you are using OC4J standalone.
There's two aspects which need to be considered:
1: the Java wrapper classes you have which call out to the native libary.
2: the native libs themselves (which I'll call a .dll from hereon in for simplicity).
What you would need to do is make sure the Java wrapper classes are all available to the web application. This can be done by either packaging them in a jar file and putting it into the web-inf/lib directory of your web application, or leaving them in an unpackaged form and putting it into the web-inf/classes directory.
I do vaguely remember helping someone debug a JSP tag lib issue once before which used native code and we ran into some problems with concurrent use of the same DLL (a Java restriction) because a DLL can only be registered once per JVM instance and the threading model meant it was being loaded more than once -- but it may have also had something to do with the JSP taglib cache.
If you do get some form of Java runtime exception showing concurrent access error for the native lib, what you can do is move the lib with the Java wrapper classes into the global classpath (j2ee/home/applib) meaning it's only ever loaded once..
Then what you need to do is make sure the DLL itself is accessible to the Java process -- on Windows this is done by making sure directory holding the DDL is set in the PATH environment variable before -- before starting OC4J. On other platforms, it can be done using the LD_LIBRARY_PATH environment variable.
That should be all you need to do to make it work.
cheers
-steve-

Similar Messages

  • Urgent - How to call native methods from J2ME

    Hi,
    I have to do some very heavy processing work, so I have my code written in C. And now I want these native functions to be called from a J2ME application. I had thought this was not possible and J2ME did not support something like JNI as J2SE did.
    However, when contacted with Sun Technical Support we were advised to use KNI in J2ME. I went through the KNI documentation and did not find any example to do so.
    On reading about it I understood that it cannot be implemented by developers as the native functions if any using KNI should be implemented while compiling the KVM.
    I would like to know whether my understanding is correct, or is it possible to call native functions from J2ME. Say I would like to have my native functions called from J2ME and run it on my Nokia N73 or other such phones.
    Experts please clear this.
    Regards,
    Kamalakshan

    Hi,
    You are right in your assumptions regarding KNI. Here is some related thread that might also help. There has been [some work|http://developer.symbian.com/main/downloads/papers/MIDlet_Native_Services_Framework/MIDlet_Native_Services_Framework_v1.1.zip] done in accessing native services through a MIDlet.
    Mihai

  • Calling native code from Flex

    I was wondering, is there any way to call native code from Flex?
    Currently, we're writing browser plugins in order to call native code from a Flex application. However, it would be nice to be able to call native code directly from Flex, so that we could write it only per-platform, as opposed to currently per-platform-per-browser.

    In general, the sandbox does not allow you to access native code from Flex.
    I believe you can use Merapi, but perhaps only for AIR:
    http://www.merapiproject.net/
    You might be able to code around the Flex sandbox, but it would be a ton of work.
    If this post answers your question or helps, please mark it as such.

  • Call native methods from windows dll

    Hello all,
    I want to call BlockInput method from User32.dll. My source code looks something like this:
    public class User32Dll_1 {
         static {
              try {
                   System.loadLibrary("User32");
              catch (Exception ex)
                   ex.printStackTrace();
         public static void main(String[] args) throws UnsatisfiedLinkError {
              BlockInput (true);
         /** @param b
         * @dll.import("USER32")*/
         private static native boolean BlockInput(boolean bBOOL);
    And the problem is that I get the following exception:
    java.lang.UnsatisfiedLinkError: BlockInput
         at User32Dll_1.BlockInput(Native Method)
         at User32Dll_1.main(User32Dll_1.java:27)
    Exception in thread "main"
    Can someone provide me a solution for this?
    Thank you in advance!

    can't do
    use JACOB
    http://danadler.com/jacob/
    or
    http://www.ezjcom.com/

  • Call web service from portal/soap config .xml error

    Hi all,
    I am trying to call a web service from our portal. Setup is as follows:
    -Generate proxy classes and deploy it as a portal service
    I created this service using the wizard (Portal service from wsdl file client side) in NWDS.
    -Portal component which uses the portal service.
    When I try to run the application in the portal, I get the following exception:
    java.lang.IllegalStateException: Error in soapconfig.xml: The method mail of com.sap.portal.prt.soap.proxy.Alias portal service is not found..
    How can I solve this?
    Her is my xml  file:
    <?xml version="1.0" encoding="utf-8"?>
    <application>
      <application-config>
         <property name="SharingReference" value="com.sap.portal.runtime.application.soap"/>
      </application-config>
      <components>
        <component name="callwebproxy">
          <component-config>
            <property name="ClassName" value="com.portal.erbS.callwebproxy"/>
          </component-config>
          <component-profile/>
        </component>
        <component name="org_opach">
          <component-config>
            <property name="ClassName" value="com.test.org_opach"/>
          </component-config>
          <component-profile/>
        </component>
      </components>
      <services>
        <service alias="com.sap.portal.prt.soap.proxy.Alias" name="ProxyClass">
          <service-config>
            <property name="className" value="com.sap.portal.wsdl.webservices.service.connector.ProxyClass">
            </property>
            <property name="startup" value="false"/>
            <property name="WebEnable" value="false"/>
            <property name="Webproxy" value="true"/>
            <property name="SecurityZone" value="com.sap.portal.wsdl.webservices.service.connector/DefaultSecurity"/>
          </service-config>
          <service-profile>
            <property name="SystemAlias" value="Default_system_Alias"/>
          </service-profile>
        </service>
      </services>
    </application>
    reza

    Hi,
    Check your soapconfig.xml
    Your method should be defined there. If it's not there, then you're sure to get this error.
    For every method (in Webservice) that you call from your Portal Service, you should have it defined here.
    Remember, this is autogenerated.
      <?xml version="1.0" encoding="UTF-8" ?>
    - <!-- Portal WebService Configuration File.
      -->
    - <!-- Note: File generated automaticaly, don't modify this file.
      -->
    - <portal-webservices version="6,0,3" application-name="TestWS">
    - <portal-webservice name="com.company.mod.TestWS">
    - <webservice-method soapaction="" authenticated="false" styleenconding="RPC" javasignature="public abstract byte[] com.company.mod.TestWS.getValue(java.lang.String)" name="getValue">
    - <webservice-parameter defaultjavatype="java.lang.String" enconding="encoded" targetnamespace="http://www.w3.org/2001/XMLSchema" nillable="false" xmlattribute="false" required="true" ID="0" name="value">
      <webservice-type wsdltype="xsd:string"  javatype="java.lang.String" />
      </webservice-method>
      </portal-webservice>
      </portal-webservices>
    Regards,
    JP

  • Calling native functions from java w/out DLL

    If I invoke a JVM inside my c++ app and try to start up a class that calls a native function, do I still need a DLL for that? Or will it look to my header file and then look to my implementation somewhere in a c++ class?
    For example:
    WinMain() - Invokes JVM and loads "HelloWorld" java class, then calls its 'main' method.
    HelloWorld.java - 'main' method calls "displayHello();" a native function.
    HelloWorld.h - defines displayHello native interface
    So it looks simply to the cpp implementation of the interface...I tried executing this but it isnt working...is it even possible?

    OK, I attempted what you posted by writing the following code... please look at because I get a 'main' not found error. I am trying to execute this from a win32 app...
    Callbacks.java:
    class Callbacks {
      private native void nativeMethod(int depth);
      private void callback(int depth) {
        if (depth < 5) {
          System.out.println("In Java, depth = " + depth + ", about to enter C");
          nativeMethod(depth + 1);
          System.out.println("In Java, depth = " + depth + ", back from C");
        } else
          System.out.println("In Java, depth = " + depth + ", limit exceeded");
      public static void main(String args[]) {
        Callbacks c = new Callbacks();
        c.nativeMethod(0);
    }InvokeJVM.cpp:
    #include "InvokeJVM.h"
    //Log any windows errors
    void InvokeJVM::LogWin32Error(const char * pTitle){
         PCHAR pBuffer;   
         LONG  lError = GetLastError ( );
         FormatMessage ( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
              NULL,                   
              lError,                   
              MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),                   
              (char *)&pBuffer,                   
              0,                   
              NULL );
         //LogError ("Win32 error: %s %s\n",pBuffer,pTitle);
         LocalFree ( pBuffer );
    //Get a string returned from the windows registry
    bool InvokeJVM::GetStringFromRegistry(HKEY key, const char *name, unsigned char *buf, int bufsize){
         DWORD type, size;
         if (RegQueryValueEx(key, name, 0, &type, 0, &size) == 0 && type == REG_SZ && (size < (unsigned int)bufsize)){
              if (RegQueryValueEx(key, name, 0, 0, buf, &size) == 0){
                   return true;
         return false;
    //Get the path to the runtime environment
    bool InvokeJVM::GetPublicJREHome(char *buf, int bufsize){
         HKEY key, subkey;   
         char version[MAX_PATH];  
         /* Find the current version of the JRE */
         if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, JRE_KEY,0,KEY_READ,&key)!=0){
              //LogError("Error opening registry key '" JRE_KEY "'\n");          
              return false;   
         if(!GetStringFromRegistry(key,"CurrentVersion",(unsigned char *)version, sizeof(version))){
              //LogError("Failed reading value of registry key:\n\t"JRE_KEY "\\CurrentVersion\n");          
              RegCloseKey(key);          
              return false;   
         if(strcmp(version, DOTRELEASE)!= 0){
              //LogError("Registry key '" JRE_KEY "\\CurrentVersion'\nhas value '%s', but '" DOTRELEASE "' is required.\n", version);
              RegCloseKey(key);          
              return false;   
         /* Find directory where the current version is installed. */   
         if(RegOpenKeyEx(key,version,0,KEY_READ, &subkey)!= 0){
              //LogError("Error opening registry key '"JRE_KEY "\\%s'\n", version);          
              RegCloseKey(key);          
              return false;   
         if(!GetStringFromRegistry(subkey, "JavaHome", (unsigned char *)buf, bufsize)){
              //LogError("Failed reading value of registry key:\n\t"JRE_KEY "\\%s\\JavaHome\n", version);          
              RegCloseKey(key);          
              RegCloseKey(subkey);          
              return false;   
         RegCloseKey(key);   
         RegCloseKey(subkey);   
         return true;
    //Native interface call to printf
    jint JNICALL _vfprintf_(FILE *fp, const char *format, va_list args){
         //LogError(format,args);     
         return 0;
    //Native interface call if the VM exited
    void JNICALL _exit_(jint code){     
         //LogError("VM exited");     
         exit(code);
    //Native interface call if the VM aborted
    void JNICALL _abort_(void){
         //LogError("VM aborted");     
         abort();
    //Load the Java Virtual Machine
    void InvokeJVM::LoadJVM(char* dir){
         HINSTANCE handle;     
         JavaVMOption options[5];     
         char JREHome[MAX_PATH];     
         char JVMPath[MAX_PATH];                                             
         char classpathOption[MAX_PATH];     
         char librarypathOption[MAX_PATH];
         if(!GetPublicJREHome(JREHome, MAX_PATH)){          
              //LogError("Could not locate JRE");          
              abort();     
         strcpy(JVMPath,JREHome);     
         strcat(JVMPath,"\\jre\\bin\\client\\jvm.dll");
         if ((handle=LoadLibrary(JVMPath))==0) {          
              //LogError("Error loading: %s", JVMPath);          
              abort();   
         CreateJavaVM_t pfnCreateJavaVM=(CreateJavaVM_t)GetProcAddress(handle,"JNI_CreateJavaVM");
         if (pfnCreateJavaVM==0){          
              //LogError("Error: can't find JNI interfaces in: %s",JVMPath);          
              abort();     
         strcpy(classpathOption,"-Djava.class.path=");
         strcat(classpathOption,dir);     
         strcat(classpathOption,";");     
         strcat(classpathOption,JREHome);     
         strcat(classpathOption,"\\lib");     
         strcat(classpathOption,";");
         strcat(classpathOption,JREHome);     
         strcat(classpathOption,"\\lib\\comm.jar");     
         strcpy(librarypathOption,"-Djava.library.path=");     
         strcat(librarypathOption,JREHome);     
         strcat(librarypathOption,"\\lib");
         OutputDebugString("classpath option=");     
         OutputDebugString(classpathOption);     
         OutputDebugString("\n");     
         OutputDebugString("librarypath option=");     
         OutputDebugString(librarypathOption);     
         OutputDebugString("\n");
         options[0].optionString=classpathOption;
         options[1].optionString=librarypathOption;          
         options[2].optionString="vfprintf";     
         options[2].extraInfo=_vfprintf_;     
         options[3].optionString="exit";     
         options[3].extraInfo=_exit_;     
         options[4].optionString="abort";     
         options[4].extraInfo=_abort_;
         vmArgs.version = JNI_VERSION_1_2;
         vmArgs.nOptions = 5;   
         vmArgs.options  = options;  
         vmArgs.ignoreUnrecognized = false;
         if(pfnCreateJavaVM(&jvm,(void**)&env, &vmArgs) != 0){
              //LogError("Could not create VM");
              abort();     
    }Winmain.cpp:
    #define WIN32_MEAN_AND_LEAN
    #define WIN32_EXTRA_LEAN
    #include <windows.h>
    #include "oglwindow.h"          // the OpenGL window class
    #include "vector.h"
    #include "engine.h"               // the engine's main class
    #include "BrimstoneEngine.h"
    #include "InvokeJVM.h"
    JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject){
        MessageBox(NULL, "Hello From Java!", "Error", MB_OK);
        return;
    JNIEXPORT void JNICALL Java_Callbacks_nativeMethod(JNIEnv *env, jobject obj, jint depth){
      jclass cls = env->GetObjectClass(obj);
      jmethodID mid = env->GetMethodID(cls, "callback", "(I)V");
      if (mid == 0) {
        return;
      printf("In C, depth = %d, about to enter Java\n", depth);
      env->CallVoidMethod(obj, mid, depth);
      printf("In C, depth = %d, back from Java\n", depth);
    JNINativeMethod methods[] = {"nativeMethod","()V", Java_Callbacks_nativeMethod};
    WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int nCmdShow){
         InvokeJVM javaVirtualMachine;
         int loopRet;
         javaVirtualMachine.running = false;
         CoInitialize(NULL);
         if (!COGLWindow::RegisterWindow(hInst)){
              MessageBox(NULL, "Failed to register window class", "Error", MB_OK);
              return -1;
         BrimstoneEngine *engine = NULL;
         try{
              char path[MAX_PATH];  
              char drive[MAX_PATH];   
              char file[MAX_PATH];   
              char dir[MAX_PATH];   
              char ext[MAX_PATH];
              jclass  cls, cls1;     
              jmethodID mid;     
              jobjectArray args;
              jint err;
              _splitpath(path,drive,dir,file,ext);          
              javaVirtualMachine.LoadJVM(dir);     
              if(javaVirtualMachine.env == NULL){               
                   MessageBox(NULL, "Could not load VM", "Error", MB_OK);
                   abort();          
              if(GetModuleFileName(NULL, path, MAX_PATH) == 0){               
                   javaVirtualMachine.LogWin32Error("Getting module filename");          
                   abort();          
              cls = javaVirtualMachine.env->FindClass("Callbacks");
              if(cls == NULL){               
                   MessageBox(NULL, "Could not find class %s (or its superclass)", "Error", MB_OK);
                   exit(-1);          
              err = javaVirtualMachine.env->RegisterNatives(cls, methods, 1 );
              mid = javaVirtualMachine.env->GetMethodID(cls, "main", "([Ljava/lang/String;)V");
              if(mid == NULL){
                   MessageBox(NULL, "Could not find method 'main'", "Error", MB_OK);
                   exit(-1);          
              args = javaVirtualMachine.env->NewObjectArray(2-2, javaVirtualMachine.env->FindClass("java/lang/String"), NULL);          
              if(args==NULL){               
                   MessageBox(NULL, "Could not create args array", "Error", MB_OK);
              for(int arg=0; arg < 2;arg++)     {               
                   javaVirtualMachine.env->SetObjectArrayElement(args, arg, javaVirtualMachine.env->NewStringUTF(argv[arg+2]));      
              javaVirtualMachine.env->CallStaticVoidMethod(cls,mid,args);     
              javaVirtualMachine.jvm->DestroyJavaVM();
              engine = new BrimstoneEngine("OpenGL Game", FALSE, 800, 600, 16);
              loopRet = engine->EnterMessageLoop();
              delete engine;
              return loopRet;
         catch(char *sz)
              MessageBox(NULL, sz, 0, 0);
              delete engine;
         CoUninitialize();
         return -1;
    }any help is always appreciated

  • Standalone OC4J 9.0.4 - Loading Native Libraries - Unsatisfied Link Error

    Hello,
    I incidentally happen to have a similar problem as has been described in several posts in this forum. The problem is that of loading Native libraries in OC4J.
    The scenario is
    1) Environment is Standalone OC4J 9.0.4, Windows 2000, JDK 1.4.2
    2) A Java wrapper loads DLL1 which internally loads DLL2.
    (To be more specific the DLL1 is a SAPSSOEXT.DLL and the DLL2 is SAPSECU.DLL. These are used for establishing SSO with SAP portal)
    The phase-1 of Java wrapper loading DLL1 is achieved by setting either the PATH or the java.library.path variables.
    The phase-2 of DLL1 loading DLL2 is what is failing with an Unsatisfied Link Error.
    Since I am using a standalone version and not a OC4J app-server, the OPMN related configuration for specified PATH variables will not be relevant here. Is there any other place where I can configure these.
    regards
    Shivaram

    A small correction to my observation above.
    The call to load DLL1 via System.loadLibrary() is successful. However when I attempt to call any method on it it fails with UnsatisfiedLinkError.
    Contrary to what was written above the error occured even before DLL1 attempted to load DLL2.
    So why is it that the call to loadLibrary is successful but the call to actual function is failing? (This works flawlessly on the command line)
    Is this a path problem, if so how do I configure it in OC4J standalone. Variables PATH, java.library.path, LD_LIBRARY_PATH none of them seem to have any effect on this.
    I tried debugging using a windows file monitor. The library DLL1 is being read from the correct path and is being opened successfully.
    Any suggestions will be greatly appreciated.

  • Help calling JNI function from a java thread

    I am using the following code to call a JNI fuction from a java thread:
    public class CMSMessageHandler extends MessageHandler{
    static{
    System.loadLibrary("jastb");
    public native int cmsReadIt(ByteBuffer buff);
    private ByteBuffer dirbuf = null;
    /** Creates a new instance of CMSMessageHandler */
    public CMSMessageHandler() {
    // allocate to max size datagram
    dirbuf = ByteBuffer.allocateDirect(65536);
    public void readMessages(){
    /*Thread worker = new Thread(){
    public void run(){*/
    int count;
    while (true){
    try{
    count = cmsReadIt(dirbuf);
    } catch (Exception e){
    e.printStackTrace();
    worker.start();*/
    public static void main(String[] args) {
    CMSMessageHandler handler = new CMSMessageHandler();
    handler.readMessages();
    When I run this main method with the thread commented out, it works great. When I run the main method with the thread, it works great for a while, and then funny things start happening with the native library I am using. My native library uses shared memory, signals, and semaphores. It feels a bit like my java program is stomping on the resources that my native library is using, when a run the java program with a thread.
    Is there something I don't know about calling native code from a thread? Should I be doing something explicitly to protect my native library's shared memory, signals, or semaphores?
    Thanks,
    Lisa.

    Does the library do any initialization when loaded? Does it make a dangerous assumption that the thead calling cmdReadIt will always be the same thread that initially loaded it? Try loading the library in the worker thread instead of in the main thread via the static initializer.Yes. There is a call to another native method cmsOpenIt that does CMS initialization. I put cmsOpenIt as well as the System.loadLibrary("jastb") in the worker thread and I'm still experiencing the same problems.
    Incidently, the mere presence of another Thread in this program does not seem to cause problems. It's only when I run calls to cmsReadIt in a thread that I get into trouble.
    For example, this works fine:
    public class CMSMessageHandler extends MessageHandler{
        public native int cmsReadIt(ByteBuffer buff);
        public ByteBuffer dirbuf = null;
        static {
            System.loadLibrary("jastb");
        public CMSMessageHandler() {
            // allocate to max size datagram
            dirbuf = ByteBuffer.allocateDirect(65536);
        public void readMessages(){
            try{
                int count = 0;
                while (true){
                    count = cmsReadIt(dirbuf);
            } catch (Exception e){
        public static void main(String[] args) {
            CMSMessageHandler handler = new CMSMessageHandler();
            Thread worker = new Thread(){
                public void run(){
                    while (true){
                        try{
                            Thread.currentThread().sleep(1000);
                            System.out.println("sleep thread.");
                        } catch (Exception e){
                            e.printStackTrace();
            worker.start();
            handler.readMessages();  
        }Are there JVM flags that I should experiment with that might help mitigate/diagnose this problem?

  • Calling a native library from Java

    Hello,
    I'm trying to call a native method (windows dll) from a web service implemented in Java. I've confirmed that the class I've created to call the native method works when used outside of my web service (ie. in a standard Java application). However, when I try to use the class in the web service, an exception is thrown when
    System.loadLibrary("MyLibrary");
    is executed. The exception thrown is:
    InvocationTargetException
    JAXRPCSERVLET28: Missing port information
    Does any one have any suggestions as to what might be causing this error?
    Thanks

    There are basically 3 steps to calling a native method from your Java code.
    1. Create a C/C++ stub function that will translate between your Java call and the native C method.
    2. Create the dll that exports the stub function.
    3. Invoke the System.loadLibrary("myDllName") method.
    Here's what I did to learn how to use the JNI.
    I first created the class that would be calling the dll:
    public class CallDll
    /** Creates a new instance of CallDll */
    public CallDll()
    static
    //LVtoJava is my dll name.
    System.loadLibrary("LVtoJava");
    //AddDll is the name of the function I'm exporting from my Dll
    //It does not have to be static
    public native static double AddDll(int func, double x, double y);
    I then used the javah utility in the jdk/bin directory to create the C stub header file. Once you have the generated stub header file, you can create an implementation file, and compile it into a dll.
    //My C++ stub, generated by javah utility
    /* DO NOT EDIT THIS FILE - it is machine generated */
    #include <jni.h>
    /* Header for class LabViewDll_CallDll */
    #ifndef IncludedLabViewDll_CallDll
    #define IncludedLabViewDll_CallDll
    #ifdef __cplusplus
    extern "C" {
    #endif
    * Class: LabViewDll_CallDll
    * Method: AddDll
    * Signature: (IDD)D
    JNIEXPORT jdouble JNICALL Java_LabViewDll_CallDll_AddDll
    (JNIEnv *, jclass, jint, jdouble, jdouble);
    #ifdef __cplusplus
    #endif
    #endif
    You may want to note the stub function's signature and how it decorates the function name that you created from your Java class. Do not modify it, as the format is required by the JNI. The javah utility appends the fully qualified package name and the word Java, separated by underscores, to your original function name. You do not need to change the name in your Java class.
    All the other special key words in the function's signature are defined in the jni.h or the jni_md.h (if your using windows).
    You may want to refer to the JNI documention on Sun's website. The book I learned out of is the Core Java Volume 2, published by Sun Microsystems Press. It goes through the details of invoking your first native function and I've found it to be a good reference.
    Hope this helps,
    PS. I seemed to have found the issue with calling my dll from a web service. My dll is actually calling another dll and that seems to be the source of my problems. When I removed the call to the 2nd dll, everything worked fine. So now I need to figure out why the 2nd dll call is an issue.
    Any suggestions?

  • Call Java method from c/c++ from native thread

    Hi,
    I know how to call a method from c/c++ with jni back to Java
    but this fails when I try to do this from a native thread.
    I can get the object class (jclass) but its seems to fail to get a method from that class.
    How to make it work?
    Thanks in advance.

    Ok, problem has been solved
    I just get the jmethodID inside a JNI method and pass it to the thread.

  • Calling native Objective C code from Java Script

    Hi,
    I want to call native objective C code from Java script.
    I know one way by using : webView:shouldStartLoadWithRequest:navigationType
    Is there another way of doing same?
    Thanks,
    Ganesh Pisal
    Vavni Inc

    Are any of those threads calling java code? If yes then are you calling the Attach method?

  • How to call EJB deployed on OC4J from java stored procedure?

    Hello,
    I'd like to call EJB from java stored procedure. My example works fine from command line, but the problem seems to be with deployment of this code into database. Especialy I'm wondering how to reference jars like oc4jclient.jar, ejb.jar, ... from java stored procedure.
    Is there some example how to do that ?
    Can You help me please ?
    Many thanks,
    Radim Kolek,
    Eurotel Prague.

    Hi,
    You may want to check up this thread
    Calling JBoss EJBs from Java stored procedure
    Hope this helps,
    Sujatha.
    OTN Group.

  • Calling a native function from a dll

    Hi all,
    I want to call an api function exported from a dll using java. For example l like to call a function from kernel.dll (Windows). How can i do this. Do i have to create another dll for this?

    hi,
    you need to use JNI
    you have to create de DLL , and call kernel32.dll in.
    like that:
    java_class.class ==> first_dll.dll ==> kernel32.dll

  • Composition of default shared libraries in Oc4j

    Hi,
    I'm trying to undestand the shared libraries in OC4J 10.1.3.
    Looking at the global application.xml (located in j2ee\home\config), I noticed the following element:
    <!-- The default set of application shared libraries. -->
    <imported-shared-libraries>
    <import-shared-library name="oracle.dms"/>
    <import-shared-library name="oracle.jdbc"/>
    <import-shared-library name="oracle.xml"/>
    <import-shared-library name="soap"/>
    <import-shared-library name="global.libraries"/>
    <import-shared-library name="global.tag.libraries" />
    </imported-shared-libraries>
    For example, I suppose that the library named "oracle.xml" is made up of some JARS, but I can't understand where the jar list is defined.
    I looked in server.xml, but "oracle.xml" is not defined there. It seems that "oracle.xml" is not defined in a configutation file, but it's hard-coded somewhere.
    Please, notice that I perfectly know that it's possible to import a different XML parser (it's explained in a lot of documents).
    Please, help me.

    gday Claudio --
    Well the good news is that we've good a pretty good facility in OC4J 10g (10.1.3) that may help in this situation.
    We can query the classloading mechanism and have it report on quite a few different areas related to classloading.
    This is documented in the 10.1.3 Config and Admin Guide (http://download-west.oracle.com/otn/java/oc4j/1013/doc/web.1013/b14432.pdf) towards the end of Chapter 7.
    For example, if you want to see the full list of shared-libraries that are loaded by OC4J and what is visible to an application you can perform a query like this:
    java -Doc4j.start.query=LoaderTree+Exit -jar oc4j.jarOr you can restrain it to the loader for a specific application as follows:
    java -Doc4j.start.query=LoaderTree[b][AcmeOrderProcessor.root]+Exit -jar oc4j.jar
    These queries will display the classloader tree and will describe all of the loaded resources, the code-sources, the packages imported, etc. for each of the libraries that are loaded.
    Here's an example I picked out of a query report for the oracle.jdbc shared library
    | +- Name: oracle.jdbc:10.1.0_2
    | | Parent: jre.extension:0.0.0
    | | Scope: Global: API & Shared
    | | Creator:
    | | oracle.oc4j.loader.PolicyClassLoader.init(PolicyClassLoader.java:572)
    | | oracle.oc4j.loader.PolicyClassLoader.<init>(PolicyClassLoader.java:432)
    | | oracle.oc4j.loader.boot.XMLBootConfiguration.setCurrentLoader(XMLBootConfiguration.java:911)
    | | oracle.oc4j.loader.boot.XMLBootConfiguration.startElement(XMLBootConfiguration.java:498)
    | | org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1674)
    | | org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
    | | org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
    | | org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
    | | org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
    | | org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
    | | oracle.oc4j.loader.boot.XMLBootConfiguration.configureLoaders(XMLBootConfiguration.java:258)
    | | oracle.oc4j.loader.boot.BootStrap.populateLoaders(BootStrap.java:477)
    | | oracle.oc4j.loader.boot.BootStrap.initLoaders(BootStrap.java:320)
    | | oracle.oc4j.loader.boot.BootStrap.createBootEnvironment(BootStrap.java:284)
    | | oracle.oc4j.loader.boot.BootStrap.main(BootStrap.java:216)
    | | Search-Policy: Standard[findLoadedClass -> askParent -> checkSharedLibraries -> findLocal]
    | | Supported-Configurations:
    | | <code-source> (e.g. "boot.xml")
    | | <code-source> (ignore manifest Class-Path) (e.g. "boot.xml")
    | | <import-shared-library> (e.g. "boot.xml")
    | | Buffer-Size: 25845
    | | Code-Sources: (# of subscribers) '.' = created, '-' = closed, '+' = open, '*' = suspended, '!' = orphaned
    | | 0. (1)+ /D:/java/oc4j-main-latest/jdbc/lib/ojdbc14dms.jar (from <code-source> (ignore manifest Class-Path) in boot.xml in D:\java\oc4j-main-latest\j2ee\home\oc4j.jar)
    | | 1. (1)+ /D:/java/oc4j-main-latest/jdbc/lib/orai18n.jar (from <code-source> (ignore manifest Class-Path) in boot.xml in D:\java\oc4j-main-latest\j2ee\home\oc4j.jar)
    | | 2. (1)+ /D:/java/oc4j-main-latest/opmn/lib/ons.jar (from <code-source> (ignore manifest Class-Path) in boot.xml in D:\java\oc4j-main-latest\j2ee\home\oc4j.jar)
    | | 3. (1)+ /D:/java/oc4j-main-latest/jdbc/lib/ocrs12.jar (from <code-source> (ignore manifest Class-Path) in boot.xml in D:\java\oc4j-main-latest\j2ee\home\oc4j.jar)
    | | Native-Code-Sources: (# of subscribers) '.' = created, '-' = closed, '+' = open, '*' = suspended, '!' = orphaned
    | | Imported-Shared-Libraries:
    | | oracle.dms:3.0
    | | Loaded-Packages:
    | | 1. oracle.jdbc
    | | 2. oracle.jdbc.driver
    | | 3. oracle.sql.converter
    | | 4. oracle.sql
    | | 5. oracle.i18n.text.converter
    | | 6. oracle.jdbc.pool
    | | Loaded-Classes:
    | | 1. class oracle.jdbc.pool.OracleDataSource
    | | 2. class oracle.jdbc.driver.OracleDriver
    | | 3. class oracle.sql.converter.CharacterConverterFactory
    | | 4. class oracle.sql.converter.CharacterConverterFactoryOGS
    | | 5. class oracle.sql.converter.CharacterConverters
    | | 6. class oracle.i18n.text.converter.CharacterConverterOGS
    | | 7. class oracle.i18n.text.converter.CharacterConverter12Byte
    | | 8. class oracle.i18n.text.converter.CharacterConverterSJIS
    | | 9. class oracle.sql.CharacterSet
    | | 10. class oracle.sql.CharacterSetWithConverter
    | | 11. class oracle.sql.CharacterSetFactory
    | | 12. class oracle.sql.CharacterSetFactoryThin
    | | 13. class oracle.sql.CharacterSetFactoryDefault
    | | 14. class oracle.sql.CharacterSet1Byte
    | | 15. class oracle.sql.CharacterSetSJIS
    | | 16. class oracle.sql.CharacterSetShift
    | | 17. class oracle.sql.CharacterSet2ByteFixed
    | | 18. class oracle.sql.CharacterSetGB18030
    | | 19. class oracle.sql.CharacterSet12Byte
    | | 20. class oracle.sql.CharacterSetJAEUC
    | | 21. class oracle.sql.CharacterSetZHTEUC
    | | 22. class oracle.sql.CharacterSetLCFixed
    | | 23. class oracle.sql.converter.CharacterConverterFactoryJDBC
    | | 24. interface oracle.sql.CharacterRepConstants
    | | 25. class oracle.sql.CharacterSetAL16UTF16
    | | 26. class oracle.sql.CharacterSetUTF
    | | 27. class oracle.sql.CharacterSetAL32UTF8
    | | 28. class oracle.sql.CharacterSetUTFE
    | | 29. class oracle.sql.CharacterSetAL16UTF16LE
    | | 30. class oracle.sql.CharacterSetUnknown
    | | 31. class oracle.jdbc.driver.OracleDriverExtension
    | | 32. class oracle.jdbc.pool.OracleConnectionCacheManager
    | | 33. class oracle.jdbc.pool.OracleFailoverWorkerThread
    | | 34. class oracle.jdbc.pool.OracleFailoverEventHandlerThread
    | | 35. class oracle.jdbc.pool.OracleImplicitConnectionCache
    | | 36. interface oracle.jdbc.OracleConnection
    | | 37. class oracle.jdbc.pool.OracleConnectionPoolDataSource
    | | 38. class oracle.jdbc.pool.OracleImplicitConnectionCacheThread
    | | 39. class oracle.jdbc.driver.DMSFactory
    | | 40. class oracle.sql.TypeDescriptor
    | | 41. class oracle.sql.ArrayDescriptor
    You can also run a query to determine the classpath which is made available to a specific application
    java -Doc4j.start.query=ClassPath[AcmeOrderProcessor.root]+Exit -jar oc4j.jarWhich results in output like this:
    D:\java\jdk142\jre\lib\rt.jar;
    D:\java\jdk142\jre\lib\sunrsasign.jar;
    D:\java\jdk142\jre\lib\jsse.jar;
    D:\java\jdk142\jre\lib\jce.jar;
    D:\java\jdk142\jre\lib\charsets.jar;
    D:\java\jdk142\jre\lib\ext\dnsns.jar;
    D:\java\jdk142\jre\lib\ext\ldapsec.jar;
    D:\java\jdk142\jre\lib\ext\localedata.jar;
    D:\java\jdk142\jre\lib\ext\sunjce_provider.jar;
    D:\java\oc4j-main-latest\j2ee\home\oc4j-api.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\oc4j-unsupported-api.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\activation.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\mail.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\ejb.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\javax77.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\javax88.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\servlet.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jms.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jta.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jacc-api.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\connector.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\cos.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jaas.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jaxp.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jmx_remote_api.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jax-qname-namespace.jar;
    D:\java\oc4j-main-latest\webservices\lib\wsdl-api.jar;
    D:\java\oc4j-main-latest\webservices\lib\orawsdl.jar;
    D:\java\oc4j-main-latest\webservices\lib\jaxr-api.jar;
    D:\java\oc4j-main-latest\webservices\lib\jaxrpc-api.jar;
    D:\java\oc4j-main-latest\webservices\lib\jaxb-api.jar;
    D:\java\oc4j-main-latest\webservices\lib\saaj-api.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\oc4j-internal.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\ojsp.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\commons-el.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\bcel.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\oc4j_orb.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\iiop_support.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\orbbase.jar;
    D:\java\oc4j-main-latest\j2ee\home\iiop_gen_bin.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jmxri.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jmxcluster.jar;
    D:\java\oc4j-main-latest\j2ee\home\jaccprovider.jar;
    D:\java\oc4j-main-latest\javavm\lib\jasper.zip;
    D:\java\oc4j-main-latest\j2ee\home\lib\adminclient.jar;
    D:\java\oc4j-main-latest\j2ee\home\jazn.jar;
    D:\java\oc4j-main-latest\j2ee\home\jazncore.jar;
    D:\java\oc4j-main-latest\jlib\jaxen.jar;
    D:\java\oc4j-main-latest\jlib\ojpse.jar;
    D:\java\oc4j-main-latest\jlib\ojpxml.jar;
    D:\java\oc4j-main-latest\jlib\ojpwss.jar;
    D:\java\oc4j-main-latest\jlib\ojpsaml.jar;
    D:\java\oc4j-main-latest\webservices\lib\wsserver.jar;
    D:\java\oc4j-main-latest\webservices\lib\wssecurity.jar;
    D:\java\oc4j-main-latest\webservices\lib\wsdl.jar;
    D:\java\oc4j-main-latest\webservices\lib\orajaxr.jar;
    D:\java\oc4j-main-latest\webservices\lib\jaxb-impl.jar;
    D:\java\oc4j-main-latest\webservices\lib\jaxb-libs.jar;
    D:\java\oc4j-main-latest\webservices\lib\orasaaj.jar;
    D:\java\oc4j-main-latest\webservices\lib\xsdlib.jar;
    D:\java\oc4j-main-latest\webservices\lib\relaxngDatatype.jar;
    D:\java\oc4j-main-latest\webservices\lib\commons-logging.jar;
    D:\java\oc4j-main-latest\webservices\lib\orawsrm.jar;
    D:\java\oc4j-main-latest\webservices\lib\wsclient.jar;
    D:\java\oc4j-main-latest\webservices\lib\wsif.jar;
    D:\java\oc4j-main-latest\rdbms\jlib\aqapi.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jem.jar;
    D:\java\oc4j-main-latest\jlib\jssl-1_1.jar;
    D:\java\oc4j-main-latest\toplink\jlib\toplink.jar;
    D:\java\oc4j-main-latest\toplink\jlib\antlr.jar;
    D:\java\oc4j-main-latest\diagnostics\lib\ojdl.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\jgroups-core.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\asm.jar;
    D:\java\oc4j-main-latest\lib\dmsapp.jar;
    D:\java\oc4j-main-latest\j2ee\home\applications\admin_ejb.jar;
    D:\java\oc4j-main-latest\j2ee\home\connectors\datasources\datasources\datasources.jar;
    D:\java\oc4j-main-latest\j2ee\home\connectors\OracleASjms\OracleASjms\gjra.jar;
    D:\java\oc4j-main-latest\j2ee\home\application-deployments\default\admin_ejb.jar\deployment-cache.jar;
    D:\java\oc4j-main-latest\lib\dms.jar;
    D:\java\oc4j-main-latest\jdbc\lib\ojdbc14dms.jar;
    D:\java\oc4j-main-latest\jdbc\lib\orai18n.jar;
    D:\java\oc4j-main-latest\opmn\lib\ons.jar;
    D:\java\oc4j-main-latest\jdbc\lib\ocrs12.jar;
    D:\java\oc4j-main-latest\lib\xmlparserv2.jar;
    D:\java\oc4j-main-latest\xdk\lib\xml.jar;
    D:\java\oc4j-main-latest\xdk\lib\xmlmesg.jar;
    D:\java\oc4j-main-latest\webservices\lib\soap.jar;
    D:\java\oc4j-main-latest\j2ee\home\lib\http_client.jar;
    D:\java\oc4j-main-latest\j2ee\home\applib;
    D:\java\oc4j-main-latest\j2ee\home\jsp\lib\taglib;
    D:\java\oc4j-main-latest\j2ee\home\jsp\lib\taglib\jaxen.jar;
    D:\java\oc4j-main-latest\j2ee\home\jsp\lib\taglib\ojsputil.jar;
    D:\java\oc4j-main-latest\j2ee\home\jsp\lib\taglib\standard.jar;
    D:\java\oc4j-main-latest\xdk\lib\xsu12.jar;
    D:\java\oc4j-main-latest\javacache\lib\cache.jar;
    D:\java\oc4j-main-latest\sqlj\lib\runtime12.jar;
    D:\java\oc4j-main-latest\sqlj\lib\translator.jar;
    D:\java\oc4j-main-latest\j2ee\home\applications\AcmeOrderProcessor\ApprovalMBean.jar
    cheers
    -steve-

  • Can I call an EJB from the database?

    Hi,
    I've just spent the last few days attempting to call an EJB from a stored procedure in a 10g database (and still haven't succeeded).
    Now having spent hours searching the web (and this forum) for any successful examples (so far I have found none) I thought I'd add a message to see if there is anybody out there who has done this successfully. If so can you please provide me some details on how to do this?
    Alternatively, I'd appreciate any input on how I can overcome my current hurdle in attempting to do this myself.
    Here's how far I've got in my attempt:
    I have a simple stateless session bean deployed to both Oracle 10gAS (a standalone OC4J container in 10.1.3) and to Weblogic 9. I have a client java class that calls a method on this bean and displays some ouput if successful. This all works from a standalone JVM (version 1.4) on both Weblogic and 10gAS.
    I then tried to load the required libraries for Weblogic onto the database (namely the Weblogic.jar file). This resulted in the addition of some 32,000 odd objects of which 30,000 odd could not be resolved. I figured a lot of these may be down to JVM version issues (I believe that Weblogic 9 uses the 1.5 JRE) so I decided to put the Weblogic test on the back burner for now and just use the Oracle app server.
    The tests with the Oracle app server looked promising. I only needed a handful of libraries to be loaded onto the database and all the relevant classes required for my test client had resolved (including the initial context factory required to do the jndi lookup of the bean). After granting all the permissions I believed I needed I'd got to the point where I could do a jndi lookup of the EJB; but when I tried to create an instance of the beans remote interface I got the following error:
    java.security.AccessControlException: the Permission (java.lang.RuntimePermission getClassLoader) has not been granted to ProtectionDomain (file:generated/by/proxy <no certificates>)
    com.evermind.net.DynamicClassLoader@612d9d34
    <no principals>
    java.security.Permissions@eb0f3c1a (
    (java.util.PropertyPermission java.version read)
    (java.util.PropertyPermission java.vm.name read)
    (java.util.PropertyPermission java.vm.vendor read)
    (java.util.PropertyPermission os.name read)
    (java.util.PropertyPermission java.vendor.url read)
    (java.util.PropertyPermission java.vm.specification.vendor read)
    (java.util.PropertyPermission java.specification.vendor read)
    (java.util.PropertyPermission os.version read)
    (java.util.PropertyPermission java.specification.name read)
    (java.util.PropertyPermission java.class.version read)
    (java.util.PropertyPermission file.separator read)
    (java.util.PropertyPermission java.vm.version read)
    (java.util.PropertyPermission os.arch read)
    (java.util.PropertyPermission java.vm.specification.name read)
    (java.util.PropertyPermission java.vm.specification.version read)
    (java.util.PropertyPermission java.specification.version read)
    (java.util.PropertyPermission java.vendor read)
    (java.util.PropertyPermission path.separator read)
    (java.util.PropertyPermission line.separator read)
    (java.net.SocketPermission localhost:1024- listen,resolve)
         at java.security.AccessControlContext.checkPermission(AccessControlContext.java:280)
         at java.security.AccessController.checkPermission(AccessController.java:429)
         at java.lang.SecurityManager.checkPermission(SecurityManager.java:528)
         at oracle.aurora.rdbms.SecurityManagerImpl.checkPermission(SecurityManagerImpl.java:192)
         at java.lang.Thread.getContextClassLoader(Thread.java:1203)
         at com.evermind.server.rmi.RMICall.<init>(RMICall.java:36)
         at com.evermind.server.rmi.RmiCallQueue.createCall(RmiCallQueue.java:33)
         at com.evermind.server.rmi.RMIClientConnection.createQueuedCall(RMIClientConnection.java:592)
         at com.evermind.server.rmi.RMIClientConnection.writeRequest(RMIClientConnection.java:581)
         at com.evermind.server.rmi.RMIClientConnection.sendMethodInvocationRequest(RMIClientConnection.java:426)
         at com.evermind.server.rmi.RMIClientConnection.invokeMethod(RMIClientConnection.java:415)
         at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:63)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
         at __Proxy0.create(Unknown Source)
         at com.axiomsystems.test.client.TestDBClient.test(TestDBClient.java:76)
    Has anybody come across this before? If so can they help?
    If not has anybody out there actually managed to call an EJB method (without going via an RMI server/Servlet/or any other proxy).
    Any help in this matter would be greatfully appreciated.
    Cheers,
    Anand.

    Sure, here's the code. It's what JDev generates automatically but I have seperated some things into several diffrent lines so I could experiment easier.
    final Context context = getInitialContext();
    Object o=context.lookup( "SessionEJB4" );
    Object l= PortableRemoteObject.narrow( o, SessionEJB4Home.class );
    final SessionEJB4Home sessionEJB4Home = (SessionEJB4Home)l;
    SessionEJB4 sessionEJB4 = sessionEJB4Home.create();
    String ret=( sessionEJB4.hello( ) );
    As I mentioned, for this I have used EJB2.1 bean, because I had same problems with EJB3.0, so I tried earlier versions of Java to make sure that is not the problem.
    hello() method just returns string "hello".
    Of course, this works in standalone client that is not loaded into database.
    Now, I loaded all the jars mentioned in this thread, using loadjava options -v -resolve, and I loaded client using options -v -resolve -genmissing . Select query on user objects in database shows that client class and relevant classes are all valid.
    Then I created stub and ran it. First it stopped throwing exception ORA-29532: Java call terminated by uncought Java exception: Java.lang.NoClassDefFoundError.
    Method I try to run returns String value which is hello message if it works fine, else it prints the part of the stack trace. In this case, after p[revious error, When I try to run it again, i get return from the method :
    Lookup error: java.lang.NoClassDefFoundError; nested exception is:
         java.lang.NoClassDefFoundError
    com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:89)
    com.evermind.server.rmi.RMIClientConnection.waitForJndiResponse(RMIClientConnection.java:371)
    com.evermind.server.rmi.RMIClientConnection.lookup(RMIClientConnection.java:179)
    com.evermind.server.rmi.RMIClient.lookup(RMIClient.java:283)
    com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:51)
    javax.naming.InitialContext.lookup(InitialContext.java:347)
    simpleejbproject.EJB4Client.hello(EJB4Client.java:35)
    Of course, regular version of the client I run frokm command line works fine.
    So I'm kind of a stuck here. I followed all directions, tried it on oracle 9 and oracle 10 DB, the problems remain the same. Am I missing something here?
    Thanks
    Just to add, getInitialContext()
        private static Context getInitialContext() throws NamingException {
            Hashtable env = new Hashtable();
            // Oracle Application Server 10g connection details
            env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory" );
            env.put( Context.SECURITY_PRINCIPAL, "oc4jadmin" );
            env.put( Context.SECURITY_CREDENTIALS, "manager1" );
            env.put(Context.PROVIDER_URL, "opmn:ormi://mserv:4005:home/TestEjb4");
            return new InitialContext( env );
    It goes withouth any exceptions.
    Message was edited by:
    user510152

Maybe you are looking for

  • You do not have a license to run Primavera P6 (r8.4)

    I am having a problem after a fresh install of Primavera P6 r8.4 I am completely new to Primavera  and I'm doing this as learning exercise (and failing!) I'm using: Database: Oracle Enterprse Edition 11g (11.2.0.4) OS: Red Hat Enterprise Linux 5.8 We

  • Problem installing GOOGLE MAPS

    hey i am unable to install GOOGLE MAPS as i want to share my location through LATITUDE. . Again d SATELLITE VIEW is very poor in NOKIA MAPS for INDIA. . djaghera Solved! Go to Solution.

  • MFBF GR to Blocked stock with 103 MT Instead of 131

    Hi Guru's I want MFBF GR to blocked stock atomatic , with out using a Edit--> change detail settings-Blocked stock setting, i tried with assigning 103 Mov tye in Rep mfg profile for GR but it is giving Below error, I think it is FI ERROR So i think C

  • Transaction Processor Error in View Pending Transactions

    Dear All, I am getting the Error: "Transaction Processor Error" in View Pending Transactions. How can I identify due to what reason, this error had occured because of this I am not able to close the inventory period for these transaction months.. and

  • BSP iview HAP_CALIBRATION Graphic does not appear

    Hi there, I'm using HAP_CALIBRATION BSP application, search.htm page. When trying to show the graphic, it does not appear. I have configured IGS connections at SM59. I´ve already checked note 898918 and I have this correction installed. What can I do