Call DLL from Java

I have a dll wihtout source code. I do know the functions name and return type. How can I call the functions in this dll? Is JNI the only way to do it?

YES, JNI is the only way you can call the DLL

Similar Messages

  • How to call dll from Java

    Hi everybody,
    I am trying to call a dll from my java application. Pls tell me how to do it, I seached and found JNI. Is it true
    pls help me and send me some examples
    Thank you and have a nice day

    java_and_me wrote:
    I am trying to call a dll from my java application. Pls tell me how to do it, I seached and found JNI. Is it trueYes, it is true. JNI is the way to go. You'll probably have to write some C code on your own as well, as the DLL is unlikely to be in the format expected by Java already.
    pls help me and send me some examplesOf course. [Here you are|http://www.lmgtfy.com/?q=JNI+tutorial].

  • Calling back c++ method in an exe (not a dll) from java?

    Hi all,
    I have to make an hybrid C++/java from an existing C++
    application that compiled is a big single exe not a dll.
    I'm running under win32.
    The application consists of several windows. The hybrid
    will have widows in C++ and some in java. They have the
    same menu and tool bar. In the C++, there are some
    callbacks called when a button is pressed. How to call
    these callback from java given the fact that the JVM and
    the java classes are launched by the exe file.
    I know how, from C++, start JVM and call my java window.
    I also know how to call a C++ method that is in a dll from
    java. It's from the tutorial
    http://java.sun.com/docs/books/tutorial/native1.1/index.html
    But I don't know how to call a C++ method that is in in an
    exe which has launch a JVM from an object running in this
    JVM.
    Is there somewhere an example like this?
    Thanks,
    Xavier.

    Thanks this helped.
    For those who want a complete example, here it is:
    Tested on XP, java 1.4.2, VC++ 6.0.
    ************ File invoke.cpp *****************************
    #include <stdlib.h>
    #include <jni.h>
    #ifdef _WIN32
    #define PATH_SEPARATOR ';'
    #else /* UNIX */
    #define PATH_SEPARATOR ':'
    #endif
    #define USER_CLASSPATH "." /* where Prog.class is */
    void JNICALL displayHelloWorld(JNIEnv *env, jobject obj)
        printf("Hello world: made by printf from C++\n");
        return;
    void main() {
        JNIEnv *env;
        JavaVM *jvm;
        JavaVMInitArgs vm_args;
        jint res;
        jclass cls;
        jmethodID mid;
        jstring jstr;
        jobjectArray args;
        char classpath[1024];
         int result;
        /* IMPORTANT: specify vm_args version # if you use JDK1.1.2 and beyond */
         JavaVMOption options[3];
         options[0].optionString = "-verbose:gc";
         sprintf (classpath, "-Djava.class.path=%s", USER_CLASSPATH);
         options[1].optionString = classpath;
         options[2].optionString = "-Djava.compiler=NONE";
         vm_args.options = options;
         vm_args.nOptions = 3;
         vm_args.ignoreUnrecognized = JNI_TRUE;
            vm_args.version = JNI_VERSION_1_4;
         /* IMPORTANT: Note that in the Java 2 SDK, there is no longer any need to call
          * JNI_GetDefaultJavaVMInitArgs. It causes a bug
        /* Append USER_CLASSPATH to the end of default system class path */
        /* Create the Java VM */
        res = JNI_CreateJavaVM(&jvm,(void**)&env, &vm_args);
        if (res < 0) {
            fprintf(stderr, "Can't create Java VM\n");
            exit(1);
        cls = env->FindClass("mypackage/Prog");
        if (cls == 0) {
            fprintf(stderr, "Can't find mypackage/Prog class\n");
            exit(1);
       JNINativeMethod nm;
       nm.name = "displayHelloWorld";
       /* method descriptor assigned to signature field */
       nm.signature = "()V";
       nm.fnPtr = displayHelloWorld;
       env->RegisterNatives(cls, &nm, 1);
        mid = env->GetStaticMethodID(cls, "main", "([Ljava/lang/String;)V");
        if (mid == 0) {
            fprintf(stderr, "Can't find Prog.main\n");
            exit(1);
        jstr = env->NewStringUTF(" from C++! calleded by C++, using argument from C++ but java method");
        if (jstr == 0) {
            fprintf(stderr, "Out of memory\n");
            exit(1);
        args = env->NewObjectArray(1,
                            env->FindClass("java/lang/String"), jstr);
        if (args == 0) {
            fprintf(stderr, "Out of memory\n");
            exit(1);
        env->CallStaticVoidMethod(cls, mid, args);
        jvm->DestroyJavaVM();
    }********************* File ./mypackage/Prog.java **************************
    package mypackage;
    public class Prog {
           public native void displayHelloWorld();
        public static void main(String[] args) {
            System.out.println("Hello World" + args[0] +"\n");
            Prog prog = new Prog();
            prog.displayHelloWorld();
            System.out.println("(called from java)");
            System.out.println("\nSo to sumurize:");
            System.out.println(" -1 Starting point is an exe (not DLL, there is no DLL) so C++ code");
            System.out.println(" -2 From C++ call java method using argument from C++");
            System.out.println(" -3 From java, that was launched by the exe, call to");
            System.out.println("    a native using the RegisterNatives in C++\n");
            System.out.println("You got a bidirectional example with as starting point");
            System.out.println("a single exe, launching JVM, loading class call back C++!");
    }******************* Command line for all ****************************************
    javac mypackage/Prog
    cl -I"D:\Program Files\j2sdk1.4.2_03\include" -I"D:\Program Files\j2sdk1.4.2_03\include\win32" -MT
    invoke.cpp -link D:\PROGRA~1\j2sdk1.4.2_03\lib\jvm.lib
    (Remark, the last path is using the short name for "Program Files" because with the blank
    even adding double quotes result into an error)
    You must have jvm.dll in your path for me it's Path=D:\Program Files\j2sdk1.4.2_03\jre\bin\client;
    Then simply call invoke and see the result. :-)

  • Fall into a trouble when calling a dll from java in linux

    Hi, experts:
    I encountered a big trouble when using JNI to call a C++-compiled DLL from java in Linux: The DLL function didn't execute immediately after the invocation, and was deferred till the end of the Java execution. But all worked well after migrating to windows. This problem made me nearly crazy. Can somebody help me? Thanks in advance.
    Linux: fedora core 8, jdk1.6.0_10,
    compile options: g++ -fPIC -Wall -c
    g++ -shared

    It looks like the OP compiled the C source file and linked it into a Windows .dll, which would explain why it worked flawlessly in Windows. (Though I must say the usage of GCC would make someone think it was compiled in Linux for Linux, GCC also exists for Windows, so I'm not sure it's a Windows .dll either...)
    @OP: Hello and welcome to the Sun Java forums! This situation requires you to make both a .dll and a .so, for Windows and Linux. You can then refer to the correct library for the operating system using System.loadLibrary("myLibrary"); without any extension.
    s
    Edited by: Looce on Nov 21, 2008 11:33 AM

  • To call a VB dll from java

    Hi,
    I want to know how one can call a VB dll from Java.I know it is something like calling a C dll which in turn calls the VB dll.I also went through the tutorial provided on the sun site and was able to call a C dll through java but I still do not know how to call a VB dll from java.
    regards,
    Anshuman

    Have you checked google?
    First hit. Reply 17.

  • Calling C from Java. C takes in a command line input

    Hello,
    I have created some basic JNI programs, in which the java file calls the C files. The way I could do it was directly calling the functions in the C files, which I needed. Now I am trying to call a C file from Java, and the C files takes in a command line argument after being compiled.
    Also after compiling the C file, it produces an exe. I cannot change the C file and also want to call it from Java using JNI (as I want to later put all this into a jar and jnlp file and put it on webstart).
    If anyone can help me on how to call the compiled C file and how to send in the input as a command line argument I would greatly appreciate it.
    Thanks
    Nick

    Now I know how to create a C wrapper file and a Java file in JNI format. Does this mean you want to run the exe files by calling the main() method through JNI. Yes you can do that BUT you will need to turn your exe file into a dll and then write a JNI wrapper to act as a bridge between the Java and the dll.Yes. Thats exactly what I want to do. I want to call the C files through JNI. But what I am asking is, how do I send in the input which is originally sent in as stdin? And also what are the steps to follow if I want to call a main method of the C files in the JNI.
    Up till now I have been using JNI to call functions from the initial C files from the C wrapper file. But now I want to call the .exe file by sending it a command line input. Or if you can suggest a better method that would be great.
    You can execute an exe file using ProcessBuilder then there is no need for a JNI wrapper. You must read the 4 sections of [http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html|http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html] and implement ALL the recommendations. Failure to do so will cause you much grief.
    You could achieve the same result but using a lot more code and a hell of a lot more effort by invoking the exe executables from JNI code that invokes the 'C' exec() library. Just thinking about that approach makes my eyes water!
    Well if I just use the exec() library I can do it, yes thats ture. But I wasnt sure if I did that, and then put this on Java Web Start, if non PC users can access it or not. If macs, and linux machines can access this even If i use exec, then my problem is solved.
    Thanks
    Nick

  • "ReferenceError: "myIpAddr"  is not defined, when call JavaScript from java

    Hi developers,
    My java application was trying to issue a http request via proxy auto-config. So, I did below jobs
    1. Read URL of *.pac from registry
    2. Call FindProxyForURL from java, the code is like below
                   ScriptEngineManager factory = new ScriptEngineManager();
                   ScriptEngine engine = factory.getEngineByName("JavaScript");
                   engine.eval(autoProxyScript);
                   Invocable inv = (Invocable) engine;
                   Object obj = inv.invokeFunction("FindProxyForURL",
                             "http://java.sun.com/",
                             "java.sun.com");
    However, I got "ReferenceError: "myIpAddress" is not defined
    I can not change the script on server to add a function like "myIpAddress", I am wordering why IE or mozilla can call it successfully and get proxy server, while Java failed to do that.
    I got a ugly solution by calling "pacparser" by jni. But I really hope I can get a better solution.

    A .pac file is a JavaScript, but it requires some functions to be defined in the executing context to work (i.e. you must define those).
    From the example on the Wikipedia page there's at least "shExpMatch" and "isInNet". "myIpAddress" seems to be another such candidate.

  • Call OSB from java client

    Hi',
    I am trying to call OSB from java client,
    The OSB proxy Service type is "WSDL Web Service", I am able to get response from SOAP UI with below request, Please help me with Java code,
    I have been Googling a lot for this however didnt got enough.
    Thanks
    Yatan
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://core.xxx.com/schema/ServiceHeader/V1.0" xmlns:v11="http://core.xxx.com/schema/Customer/V1.0" xmlns:v12="http://core.xxx.com/schema/Customer/V1.0">
    <soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken wsu:Id="UsernameToken-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>weblogic</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome1</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    <v1:GMWSHeader>
    <v1:SourceId>String</v1:SourceId>
    <v1:TransactionId>String</v1:TransactionId>
    <v1:TransactionTimeStamp>1967-08-13</v1:TransactionTimeStamp>
    <v1:ServiceVersion>LATEST</v1:ServiceVersion>
    </v1:GMWSHeader>
    </soapenv:Header>
    <soapenv:Body>
    <v11:GetDetailsRequest>
    <v11:Condition>
    <v12:SellingSource>?</v12:SellingSource>
    <v12:FulfillingFCNNbr>?</v12:FulfillingFCNNbr>
    </v11:Condition>
    </v11:GetDetailsRequest>
    </soapenv:Body>
    </soapenv:Envelope>

    Thanks Guys, I tried the ways you mentioned I am getting below error, this error is coming in both weblogic clientgen and webservice proxy from jdeveloper,
    I understand that this error has something to do with my process however not sure why is it coming, I will really appreciate if you can provide me some pointers.
    error:
    Buildfile: C:\JDeveloper\OSBClient\TestOSBClient\build.xml
    javaFromWSDL:
    [clientgen]
    *********** jax-ws clientgen attribute settings ***************
    wsdlURI: http://localhost:8001/xx/som/contracts/CustomerContract?wsdl
    packageName : com.osb.client
    destDir : C:\OSB
    *********** jax-ws clientgen attribute settings end ***************
    [clientgen] Consider using <depends>/<produces> so that wsimport won't do unnecessary compilation
    [clientgen] parsing WSDL...
    [clientgen]
    [clientgen]
    [clientgen] [ERROR] A class/interface with the same name "com.osb.client.SOMMessage" is already in use. Use a class customization to resolve this conflict.
    [clientgen] line 89 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] (Relevant to above error) another "SOMMessage" is generated from here.
    [clientgen] line 51 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] A class/interface with the same name "com.osb.client.TaskCompletionMessage" is already in use. Use a class customization to resolve this conflict.
    [clientgen] line 82 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] (Relevant to above error) another "TaskCompletionMessage" is generated from here.
    [clientgen] line 76 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] Two declarations cause a collision in the ObjectFactory class.
    [clientgen] line 89 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] (Related to above error) This is the other declaration.
    [clientgen] line 51 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] Two declarations cause a collision in the ObjectFactory class.
    [clientgen] line 82 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] (Related to above error) This is the other declaration.
    [clientgen] line 76 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    BUILD FAILED
    weblogic.wsee.tools.WsBuildException: Error running JAX-WS clientgen: null
         at weblogic.wsee.tools.clientgen.jaxws.ClientGenImpl.execute(ClientGenImpl.java:175)
         at weblogic.wsee.tools.anttasks.ClientGenFacadeTask.execute(ClientGenFacadeTask.java:244)
         at weblogic.wsee.tools.anttasks.ClientGenTask.execute(ClientGenTask.java:365)
         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatinxxethodAccessorImpl.invoke(DelegatinxxethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
         at org.apache.tools.ant.Task.perform(Task.java:348)
         at org.apache.tools.ant.Target.execute(Target.java:357)
         at org.apache.tools.ant.Target.performTasks(Target.java:385)
         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
         at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
         at org.apache.tools.ant.Main.runBuild(Main.java:758)
         at org.apache.tools.ant.Main.startAnt(Main.java:217)
         at org.apache.tools.ant.Main.start(Main.java:179)
         at org.apache.tools.ant.Main.main(Main.java:268)
    Caused by: Error starting wsimport:
         at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:757)
         at weblogic.wsee.tools.clientgen.jaxws.ClientGenImpl.execute(ClientGenImpl.java:169)
         ... 19 more
    Caused by: com.sun.tools.ws.wscompile.AbortException
         at com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:136)
         at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2255)
         at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:194)
         at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:140)
         at com.sun.tools.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:261)
         at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:203)
         at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:188)
         at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:738)
         ... 20 more
    Total time: 3 seconds

  • Call ABAP from Java

    Can any one help me in calling an ABAP program from Java.
    The version of SAP with me is 4.7.
    Thanks in advance.
    Regards ,
    Nagaraju Donikena

    To call ABAP from Java when I tried doing it from sample code given in help I was getting the following error. Can any one help in this regard.
    Exception in thread "main" java.lang.ExceptionInInitializerError: JCO.classIniti
    alize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
    JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjco
    rfc in java.library.path]. java.library.path
            at com.sap.mw.jco.JCO.<clinit>(JCO.java:735)
            at TestConnect.<init>(TestConnect.java:8)
            at TestConnect.main(TestConnect.java:25)

  • Calling BDC from Java using JCO

    Hello Everyone,
    Is it possible to call a BDC from Java program using JCO ?

    Are you serious with that question? Did you try to build the web service client before? Because this is exactly the same. Try to find "building web service clients" instead "Calling BPEL from java". By default (probably) every BPEL process has both WSIF and SOAP end points, just use correct WSDL address.

  • Calling Matlab from Java

    Hi everybody,
    I need to call Matlab from Java, run some programs in matlab and get the standard output.
    I know I can start matlab with:
    Process proc = Runtime.getRuntime().exec("matlab");
    But then how do i run a program in matlab? (For example, if I have "myprogram.m", I would run it in matlab by typing "myprogram")
    If I start a new process [Process proc2 = Runtime......exec("myprogram")], it does not start in matlab.
    Any ideas?
    thanx in advance.

    Sounds like myprogram is just a parameter of a call to matlab.
    Try some variations on
    exec("matlab myprogram");
    There is also - I believe - an exzec call that takes an array of parameters.

  • Calling Serializer from Java

    Hi,
    I am calling xsql from Java.
    Can I set FOPserializer with help of oraclesql like i can set other attribute of xsql.
    e.g
    OracleXMLQuery ors = new OracleXMLQuery(conn, selectStmt);
                   ors.setRaiseNoRowsException(false);
    ors.setSkipRows(skipRows);
    ors.setMaxRows(maxRows);
    an example would be helpful.
    Thanks in advance
    Raju

    The FOPSerializer (and the concept of serializers in general) is a feature of the XSQL Pages Framework. Your code example here is using the XML SQL Utility's OracleXMLQuery class. To use XSQL programmatically, you should use the oracle.xml.xsql.XSQLRequest class, documented in the XSQL Online Documentation
    hope this helps.

  • Calling ant from java

    public static void main(String[] args) {
              String arr[] = null;
              arr = new String[2];
              arr[0] = "-buildfile";
              arr[1] = "C:\\workspace\\my projects\\ANTTASKS\\bin\\build.xml";
              try {
                   Launcher launcher = new Launcher();
                   launcher.main(arr);     
              } catch (Exception e) {
                   System.out.println(e.getMessage());
                   // TODO: handle exception
    I tried calling ant from java. But the problem is that, i am not sure how to get the handle of error & input stream from this.
    I also need to know how do I kill the ant executable if there is some kind of exception like ConnectionTimeOut or is there any some kind of timeout mechanism.
    Earlier i was calling ant as an external process like Process P = new Process(), where p.execute("ant.bat xxxxx"). I used to get the error & input stream from the process itself.
    Please help!!!
    thanks

    A better approach would be to use the classes provided in Ant. The API documentation for Ant has all the necessary information.
    The sample code would look like:
    Project ant = new Project();
    ProjectHelper helper = new ProjectHelperImpl();
    ant.init();
    helper.parse(ant, new File("build.xml"));
    ant.executeTarget("clean");

  • Calling searchadminctl from Java failing

    I am trying to call searchadminctl from a Java application, to make some automation around installing thesaurus. The searchadminctl batch file gets called alright and its own Java application gets started, but it gives me this error:
    16:48:26:812 INFO     main          url:null user:eqsys
    16:48:27:530 INFO     main          cmd mode=1
    16:48:27:546 INFO     main          thesaurus:default:null:null
    16:48:27:546 INFO     main          delete:thesaurus:default
    16:48:27:593 INFO     main          thesaurus delete:1
    16:48:27:890 INFO     main          url:null user:eqsys
    16:48:28:609 INFO     main          cmd mode=1
    16:48:28:609 INFO     main          thesaurus:null:null:null
    16:48:28:609 INFO     main          create:thesaurus:C:/ses-thesaurus-importer/export/thesaurus.xml:null
    16:48:28:749 DEBUG     main          thesaurus:null
    16:48:28:749 INFO     main          thesaurus null null
    16:48:28:843 DEBUG     main     ThesaurusDBAdapter          insert to run command:ctxload userName:eqsys
    16:48:30:812 DEBUG     output     ThesaurusDBAdapter$1          Enter user: Connecting...
    16:48:30:827 DEBUG     output     ThesaurusDBAdapter$1          Creating thesaurus DEFAULT...
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          Thesaurus DEFAULT created...
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          Processing...
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          0 lines processed successfully
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          Beginning insert...DRG-50857: oracle error in drzmiai
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-20000: Oracle Text-fejl:
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-04002: INCREMENT skal være et heltal forskelligt fra nul
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-06512: ved "CTXSYS.DRUE", linje 160
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-06512: ved "CTXSYS.DRITHSL", linje 129
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-06512: ved linje 1
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          
    16:48:30:859 DEBUG     output     ThesaurusDBAdapter$1          Disconnected
    16:48:30:952 DEBUG     main     ThesaurusDBAdapter          finish command with status 1
    16:48:30:952 ERROR     main     Error creating thesaurus: the NLS_LANG environment variable may be inconsistent with the thesaurus encoding java.lang.Exception     oracle.search.admin.db.ThesaurusDBAdapter:insert:310     oracle.search.admin.manager.JDBCDataManagerService:create:148     oracle.search.admin.manager.AbstractAdminDataManager:create:54     oracle.search.admin.manager.ThesaurusManager:create:52     oracle.search.admin.cmd.AdminCMDHandler:create:334     oracle.search.admin.cmd.AdminConsole:runAdminModuleJob:672     oracle.search.admin.cmd.AdminConsole:runAdminComand:541     oracle.search.admin.cmd.AdminConsole:main:227
    As you can see, the delete operation goes well, but create fails. The NLS_LANG message seems to be shown no matter what the real error was though.
    The funny thing is, that I have tried to take the EXACT command with the EXACT parameters my Java application calls, and call it manually, and then it works just fine. Any ideas on how to get this to work? Any ideas what these ORA-XXXXX errors is?
    Thank you
    Søren

    Last night when I was somewhere between this world and dream world I scanned through my code in my mind and found the error, and it is my bad... I called the searchadminctl with my thesaurus file as argument, just before I closed my OutputStream to the file, which we all know is quite a bad idea.
    So the answer is: it is absolutly no problem to call searchadminctl from Java :)
    /Søren

  • Call ESB from java or unix

    Dear All,
    Due to project requirement, I have a customer who wants to call ESB from java/unix
    i am aware of java calling BPEL but I have never seen a java calling ESB ?
    does any body about it ?
    Is it possible ?
    Appreciate your response.
    Best Regards
    Arc

    Hi, for BPEL there is a really good API to invoke processes externally. For ESB there is not (as far as I know). But each ESB process is just invokable like any other web service. So it would be an option to use javax.xml.rpc package and create Service and Call objects. You can then make use of DII (Dynamic invoking) and there is no need to specify parameters as long payload for the ESB process is valid XML for the Routing Service.
    Jos Baan

Maybe you are looking for

  • Deep Creation is not working in SAPUI5

    Hi Gurus, I have created GW service with deep_create_entity but I am not able to post value from SAPUI5 oMobel.create() method I am waiting for response thanks in advance

  • ICC profiles needed

    Hi, I give up. I want to follow this procedure as found on the HP website: HP Printers -  Using ICC Profiles for Color Photos in Adobe Photoshop. However, after two days of searching I have been unable to locate the HP ICC profiles for my printer, pa

  • Serious problems with TopLink in JDeveloper

    Is there any sane way to regenerate TopLink Java objects from Oracle tables? Specifically, I have changed an Oracle table and need it reflected in both the Java object and the toplink-mappings. I don't see any way to do this in the IDE so I've resort

  • I search a VI to receive/tr​ansmit messages using a database (.dbc)

    Hello, I search a VI to receive/transmit messages using a database (.dbc), even if you have a VI with transmit message using a .dbc only, I will be interessed... I found  "channel monitor.vi" in the examples of LABVIEW but I can't use it, I don't see

  • Question about iMovie for iPhone 4

    I have about 60 pics I would like to put together in a project. Is there anyway to select multiple pics at one time or do I have to select one at a time?