Calling C++ Objects within Java code

Hi guys,
I am currently facing the problem, that I have a huge C++ library and I would like to make use of it.
My problem is, how to invoke C++ Objects/Methods within my
java application ?
I would be most grateful if someone could help me.
Thanks in advance,
Hannes

thanks for this suggestion, but there is indeed a way to do so.
i.e.
http://www.noodleglue.org/noodleglue/noodleglue.html
I was actually wondering if someone has experience with some of
those wrappers and could recommend one ?
Thanks,
Hannes

Similar Messages

  • Handling events from native objects in Java code - Code from Sachin Agrawal

    Hi All,
    I�ve been studing this example in http://www.ibm.com/developerworks/java/library/j-jniobs/ , so I find it so interesting to be used on programs, but I'm just a starter programmer when we talk about JNI.
    I hope that some good soul will tell me how I use it in java.
    Let me explain better.
    In this example, a main.exe it's the reponsible to call the entire program, java and C. I want to use this code, but, In java. Or better, I wanna know what I have to change, to call it from my Java code...
    for example, I've tryed this:
    package events;
    import javax.swing.JFrame;
    public class MouseDownListener extends JFrame implements IJMouseDownListener {
         EventSourceProxy _proxy;
         IJMouseDownListener _listener;
         public MouseDownListener(int handleEventSource) {
              _proxy = EventSourceProxy.get(handleEventSource);
              if (null == _proxy) {
                   return;
              _listener = new IJMouseDownListener() {
                   public void onMouseDown(int hPos, int vPos) {
                        System.out.println("In MouseDownListener.onMouseDown");
                        System.out.println("     X = " + String.valueOf(hPos));
                        System.out.println("     Y = " + String.valueOf(vPos));
              _proxy.addMouseDownListener(_listener);
         public void release() {
              _proxy.removeMouseDownListener(_listener);
              _listener = null;
              _proxy = null;
             public void onMouseDown(int x, int y){
            System.out.println(x + "-" +y );
         public static void main(String[] argv) {
              MouseDownListener listener = new MouseDownListener(0);
                    listener.setVisible(true);
    }but doesn�t work.
    Thanks for your help!

    Jschell Hello,
    I really think that I was not very clear in my question.
    Sorry about my very bad English.
    In the example linked, there is a file main.cpp that starts the program:
    // Defines the entry point
    #include "EventSource.h"
    #include "MouseDownListener.h"
    #include "Jvm.h"
    #include <process.h>
    #include <windows.h>
    void __cdecl ThreadMain(void * pSource)
         ((CEventSource *)pSource)->fireMouseDownEvent(50, 100);
         CJvm::DetachThread();
    int main(int argc, char* argv[])
         CEventSource eventSource;
         CMouseDownListener listener;
         eventSource.addMouseDownListener(&listener);
         CJvm::CreateJVM(argc-1, &argv[1]);
         jobject jobj = CJvm::CreateJavaObject("events/MouseDownListener", (int)(IEventSource *)&eventSource);
         _beginthread(ThreadMain, 0, &eventSource);
         Sleep(2000);
         CJvm::ReleaseJObject(jobj);
         CJvm::DestroyJVM();
         return 0;
    }And the command line to execute all the thing is
    main.exe "-Djava.class.path=.\\java\\bin"
    "-Djava.library.path=.\\cpp\\listener\\Debug"and the result in a dos prompt is:
    In CMouseDownListener::onMouseDown
    X = 50
    Y = 100
    In MouseDownListener.onMouseDown
    X = 50
    Y = 100
    According to the example, this code main.cpp, calls the Java classes too:
    EventSourceProxy.java, IJMouseDownListener.java, MouseDownListener.java.
    But, I want to modify it so that I can start my program directly from within Java in a way that I start the program with something like
    "Main java," plus the required parameters, and can thus manipulate the results obtained through the java.
    In short, I wanted to translate the main.cpp for Java, so I have a main class in Java that start the program, call the listener.dll through JNI, take the position of the mouse, and return to my program in Java.
    If you or someone else can help me,'ll be very grateful.
    Tkd,
    Dino

  • Call peoplesoft function from java code

    Can we call the peoplesoft decrypt function from within java code ?

    Hi Sumit,
    For getting the connection, I would use something like:
    import com.sap.mw.jco.JCO;
    public class R3Connector {
         private JCO.Client jcoclient = null;
         public  R3Connector () {
                   super();
         public JCO.Client getClient() {
              if (jcoclient == null) {
                   /* get connection from Pool */
                   jcoclient = JCO.getClient (POOL_NAME);
              return jcoclient;
         public void releaseClient() {
              if (jcoclient != null) {
                   JCO.releaseClient(jcoclient);     
    and of course you will have to define your POOL property somewhere (portalapp.xml presumably)
    Hope this helps!

  • How to use Oracle objects in java code

    Hi all!
    I'm reading an xls and i need to fill me oracle objects with java code:
    OBJECT_NAME OBJECT_TYPE
    LETTURA_OBJ TYPE
    LETTURA_OBJ TYPE BODY
    In the past weeks i've been using both java code into oracle and oracle objects, but new i need to write those objects with data i read with java, anybody can help me?
    I know that the easiest work around would be to put the data i read from the excel file into a table and then fill the oracle objects, but now i want to learn how to write directly those objects with a command like the following one:
    a sample of the code i'm tryng to write:
    CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED REPORT."Manage_Excel_ASMBS" AS
    import java.io.*;
    import java.io.IOException;
    import jxl.*;
    public cass ....
    #sql{  variabili_globali.var_ER_F3.Tipo_Lettura := 5}
    thanks,
    Massimo
    Edited by: LinoPisto on 16-mag-2011 16.38

    mmmh i'm not understanding so much....
    well... as i told before i'm working in oracle database environment and i'm developing a java procedure.
    now, i have this object
    CREATE OR REPLACE
    TYPE REPORT.FATTURA_OBJ AS OBJECT (
    POD VARCHAR2(1000),
    ID_FATTURA NUMBER,
    ID_FILE NUMBER,
    COERENZA_EA_F VARCHAR2(1000),
    COERENZA_ER_F VARCHAR2(1000),
    COERENZA_EA_M VARCHAR2(1000),
    COERENZA_EF_M VARCHAR2(1000),
    ANOMALIA VARCHAR2(1000),
    MOTIVO_INVALIDAZIONE VARCHAR2(1000),
    MATRICOLA_CONTATORE VARCHAR2(1000),
    POTENZA_DISPONIBILE VARCHAR2(1000),
    MEMBER PROCEDURE pulisci
    /and i need to work with it inside this procedure:
    CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED REPORT."Manage_Excel_ASMBS" AS
    import java.io.*;
    import java.io.IOException;
    import java.io.StringWriter;
    public class Manage_Excel_ASMBS
    public static void read_Excel(String inputFile,int var_Id_Caricamento, int var_Id_Distributore, String var_Distributore) throws SQLException, IOException
              **here i need to put what i'm reading inside the excel file into oracle objects**
    /can you please give me a sample ?
    thanks

  • Setting Windows Envirnoment variables within Java code!!

    Hello All,
    How to setup Windows envirnoment variables within Java code dynamically.
    int customer = jList1.getSelectedIndex();
    System.out.println(customer);
    switch (customer)
    case 0:
    System.out.println("HOME1");
    break;
    case 1:
    System.out.println("HOME2");
    break;
    case 2:
    System.out.println("HOME3");
    break;
    case 3:
    System.out.println("HOME4");
    break;
    default:
    System.out.println("HOME5");
    break;
    }

    set windows %HOME% variableWhat is it?
    A system-wide resource? Something pertinent to the processes of a given user? Or does it apply only to your Java process?

  • Start weblogic server within java code

    From edoc.bea.com, I got:
    ====
    The following sections describe alternate ways to start an Administration Server:
    Starting an Administration Server from the Windows Start Menu
    Starting an Administration Server When the Host Computer Boots
    Starting an Administration Server With the java weblogic.Server Command
    ====
    Could we start weblogic server within java code?
    (like ServerLoader provided by JBoss?)
    Thanks in advance.
    -Kevin

    The follwoing code:
    //====
    import weblogic.*;
    public class MyTest
    public static void main(String[] args)
              String[] myArgs = new String[6];
              myArgs[0] = "-Dweblogic.home=C:\\bea";
              myArgs[1] = "-Dweblogic.RootDirectory=C:\\bea\\weblogic81\\samples\\domains\\examples";
              myArgs[2] = "-Dweblogic.ConfigFile=C:\\bea\\weblogic81\\samples\\domains\\examples\\config.xml";
              myArgs[3] = "-Dweblogic.Name=examplesServer";
              myArgs[4] = "-Dweblogic.management.username=weblogic";
              myArgs[5] = "-Dweblogic.management.password=weblogic";
              Server.main( myArgs );
    //====
    Seems that did not feed the arguments in:
    C:\myTest>java -cp .;%CLASSPATH% MyTest
    <Sep 22, 2005 6:08:40 PM EDT> <Info> <Security> <BEA-090065> <Getting boot ident
    ity from user.>
    Enter username to boot WebLogic server:

  • How to get the Weblogic Server Id from within java code

    I would like to log which server (among a cluster) a certain job is running on. Is there a way to get the server id from within Java code (this code is in a session bean if that is relevant.)
    By server id I mean the "Name" column in the summary of servers on the weblogic console.
    Thanks,
    ken

    Use the two entries close to the bottom of the page: "list WebLogic
    MBeans:listMBeans.jsp
    display MBean attributes and operations:showMBean.jsp"
    Nils
    Anatoly wrote:
    >
    Cameron,
    That page has these items on it:
    which one do you think helps with my issue?
    Misc WebLogic examples
    LongRunningTask
    Execute tasks in parallel using WebLogic Execute Threads
    Weblogic stats (5.1)
    Reload Servlet(s) programmatically (5.1)
    Network classload from WebLogic:using reflection,or the launcher
    Weblogic 5.1 debugging properties
    Seppuku pattern readme
    Using dynamic proxies to intercept EJB invocations (6.1)
    list WebLogic MBeans:listMBeans.jsp
    display MBean attributes and operations:showMBean
    Thanks to Marcelo Caldas for filter by type option and nice UI!
    Using com.sun.jdmk.comm.HtmlAdaptorServer with WebLogic 6.1
    Cool
    EJBGen
    Dimitri
    back
    "Cameron Purdy" <[email protected]> wrote in message news:<3c7a745d$[email protected]>...
    JMX ... see http://dima.dhs.org/misc/ for some info on JMX in Weblogic.
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "Anatoly" <[email protected]> wrote in message
    news:[email protected]..
    Does anyone know who to get the managing server URL's port
    from within the EJB code running on Weblogic 6.1?
    The URL port is not default (not 7001), but when creating
    initial context, I am not specifying the URL in properties.
    Due to that, trying to the the PROVIDER_URL property from
    environment does not return anything.
    Appreciate any responses.
    -Anatoly
    ============================
    [email protected]

  • Programatically calling control flows from java code

    Hi all,
    I have a bounded taskFlow that uses pageFragments. This flow is a region in a page(.jspx).
    In my page fragment, I have a inputComboboxListOfValues with a ValueChangeListener code in a java bean.
    I want when a value is changed, to programatically call "controll flow" (this one has: "From Activity Id" -the page fragment with that inputComboboxListOfValues, and "To Activity Id" - the default Activity on this task Flow).
    So when the value change, practically I want to restart the flow programatically and pass the selected value as input parameter.
    Since the inputComboboxListOfValues is not like a button where in the "Action" property you can set the Control Flow and navigate somewhere, the only option I have is to programatically cause navigation from java code (example: the value change listener code).
    Can this be achieved?
    Any advice is helpfull.

    Hi,
    Absolutely, you can do it using the NavigationHandler. Try the following in you value change listener:
    FacesContext context = FacesContext.getcurrentInstance();
    NavigationHandler handler = context.getApplication().getNavigationHandler();
    handler.handleNavigation(context, null, outcome);
    // Render the response after that phase, the button actions should not be called
    context.renderResponse();
    // Add the following line if you want to prevent further value change listeners to be called
    // throw new AbortProcessingException();Regards,
    ~ Simon

  • Can we call DLL method in jave code

    hi,
    can we call DLL file method in java Code or program.

    See
    http://forum.java.sun.com/thread.jsp?forum=52&thread=179765

  • Call web service using Java code

    Hi all,
    Sorry if this question sounds stupid. I am new to web services.
    I am having a web service written in oracle, using soap-api. I want to call this web service in Java application, parse the result and save it in the database.
    Can anyone please guide me on this or give me some related link. I tried searching on google, tried to implement some of the solutions I got in search results, but it was not that helpful.
    Waiting for your help. Please guide me through this.
    Waiting for your replies. Thanks in advance.
    Regards,
    Kinnaree

    Hi all,
    From my java code, I tried giving
    String testStr = service.search("and formatted_address like '%Test House%'");
    This service method is defined on my SearchPortType.java file. This and the searchClient.java, as I mentioned earlier are auto generated files by myeclipse IDE. I gave WSDL URL, which generated these two files.
    This helped me invoking the service, but it gives me an exception as below:
    Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn't send message.
    org.codehaus.xfire.fault.XFireFault: Couldn't send message.
         at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
         at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:30)
         at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
         at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
         at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
         at org.codehaus.xfire.client.Client.invoke(Client.java:336)
         at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
         at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
         at $Proxy8.search(Unknown Source)
         at com.imriel.client.cbre.chelsea.util.test.searchClient.main(searchClient.java:104)
    Caused by: org.codehaus.xfire.XFireException: Couldn't send message.
         at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:145)
         at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
         at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
         ... 8 more
    Caused by: java.net.ConnectException: Connection timed out: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(Unknown Source)
         at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
         at java.net.PlainSocketImpl.connect(Unknown Source)
         at java.net.SocksSocketImpl.connect(Unknown Source)
         at java.net.Socket.connect(Unknown Source)
         at java.net.Socket.connect(Unknown Source)
         at java.net.Socket.<init>(Unknown Source)
         at java.net.Socket.<init>(Unknown Source)
         at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79)
         at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:121)
         at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706)
         at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321)
         at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386)
         at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
         at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.send(CommonsHttpMessageSender.java:369)
         at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:123)
         ... 10 more
    Any ideas, where I am wrong????
    Regards,
    Kinnaree

  • Can u access Oracle9i Reports objects from Java Code?

    Hi,
    How can you access Oracle9i Reports (Rel 2) objects like Body, DataSource, Groups etc from Java Code?
    What are the available APIs?
    I went thru the APIs at http://otn.oracle.com/products/reports/htdocs/getstart/docs/Javadocs/oracle/reports/plugin/definition/package-summary.html
    However various constructors stated in these APIs are using classes from "oracle.reports.definition" package which are difficult for me to locate.
    For eg. Report constructor is using oracle.reports.definition.RWReport and there is no API documentation available for RWReport class.
    Please suggest me the site for the above APIs or the method to get a reference to "Report" instance.
    Thanks
    Rakesh.

    Thanks Tugdual for your quick reply.
    Thats exactly what I am trying to do. I want to develop a utility which can have a subset of Report Developer's functionality.
    Currently using Reports Developer & Report Wizard, I can create a report by providing SQL statement and few parameters (like Report Style, Calculated Fields, Template file etc). I want to put all these parameters in a XML file and run my java utility (based on the APIs which I am looking for) which will use these XML parameter file and generate a '.rdf' file.
    Also, could you please suggest me the site for oracle.reports.definition package API or the way to get a reference to oracle.reports.plugin.definition.Report instance.
    Thanks,
    Rakesh

  • Signing Jars from within Java Code

    Hi,
    I would like to sign a jar file from within my Java code. Reason for this is that I wish to update a jar file at runtime, throw away the class loader that loaded the jar, and load the updated code inside a new classloader.
    One problem, however: The jar file has to be signed before loading it. How can I do this from my Java program? Or do I need to have the jarsigner tool available at the location where I resign the jar?
    Thanks in advance,
    Ronald.

    Hi,
    In the meantime I found an answer to my problem. In rt.jar there exists a class sun.security.tools.JarSigner, which can be used for exactly this purpose. Not completely portable, but it'll do the trick.
    Ronald.

  • Is it possible to open a Jar within Java code

    Hey
    I am just wondering if it is at all possible to get java to run a Jar within the code. So the Jar is my update to my program and I have got it downloading from my site using the java code but now i want the code to open it for the user so they don't have to double click in on. Is this possible?
    Thanks

    Sure. The java.util.jar package.
    You might want to take a look at service providers:
    http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html#Service%20Provider

  • Shell script doesnot execute within java code

    Hi
    I have the following code
    public static void main (String[] args) throws IOException, InterruptedException {
    String command1 = "sh -c /home/test.sh";
    // create a process for the shell
    ProcessBuilder pb = new ProcessBuilder("sh", "-c", command1);
    pb.redirectErrorStream(true); // use this to capture messages sent to stderr
    Process shell = pb.start();
    InputStream shellIn = shell.getInputStream(); // this captures the output from the command
    int shellExitStatus = shell.waitFor(); // wait for the shell to finish and get the return code
    int c;
    while ((c = shellIn.read()) != -1) {System.out.write(c);}
    // close the stream
    try {shellIn.close();} catch (IOException ignoreMe) {}
    }When I run sh -c /home/test.sh from the commandline on my linux box, it works. But when run from within the above java code, it doesnot.Can you please point to what could be missing?
    Many Thanks.

    Nish_B wrote:
    Thanks for the pointer. /home was just an example.
    I modified the code to follow the example.
    String command1 ="/home/test.sh";
    try
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(command1);
    InputStream stderr = proc.getErrorStream();
    InputStreamReader isr = new InputStreamReader(stderr);
    BufferedReader br = new BufferedReader(isr);
    String line = null;
    System.out.println("<ERROR>");
    while ( (line = br.readLine()) != null)
    System.out.println(line);
    System.out.println("</ERROR>");
    int exitVal = proc.waitFor();
    System.out.println("Process exitValue: " + exitVal);
    } catch (Throwable t)
    t.printStackTrace();
    You really really do need to read the traps article.
    >
    Is there a way to run as a background process? Use a thread.
    Currently when I run the above, the script runs and holds the input, I tried passing "&" to the command1 string as well as concatenating it to the exec arg but seems like the test.sh script then fails since it takes that as a parameter.Read the traps article.
    So can I run the above script via the java code and let it run as a background process?Read the traps article.

  • Call .bat file from java code

    I need to call an application that uses a .bat file to execute from a java program. Is that possible?
    This is the .bat file:
    importcli.exe ciaf2735 C:\Importcli\files\SAI2735*.txt  
    importcli.exe ciaf2735 C:\Importcli\files\CI2735*.txt  
    importcli.exe ciaf2735 C:\Importcli\files\SC2735*.txt  
    importcli.exe db1800 C:\Importcli\files\*.mdb

    magaupe wrote:
    I need to call an application that uses a .bat file to execute from a java program. Is that possible?
    This is the .bat file:
    importcli.exe ciaf2735 C:\Importcli\files\SAI2735*.txt  
    importcli.exe ciaf2735 C:\Importcli\files\CI2735*.txt  
    importcli.exe ciaf2735 C:\Importcli\files\SC2735*.txt  
    importcli.exe db1800 C:\Importcli\files\*.mdb
    Hmmm, I wonder what would happen if there were a web search engine and you could research like this:
    [http://www.google.com/search?hl=en&q=call+.bat+file+from+java]

Maybe you are looking for

  • Itunes store unknown error (-3212)

    How do I resolve itunes store unknown error (-3212)?

  • Implementing Webservices Doubt

    Hi, i have few queries in my mind we have to integrate Third party webservices with our SAP R/3 1) Assume that in IDOC--- SOAP scenario( External Web Service)  who has to generate the WSDL file???? 2) In SOAP - IDOC scenario( External web service) wh

  • Message Processing at receiver FTP adapter

    Hello, I am using FTP at the receiver side and trying to connect to that receiver using File/FTP Receiver adapter. Now i have config all the details of the FTP server in the channel. Now i want to know how it connects to the FTP server and keeps the

  • Laserjet 100 color mfp m175nw - no connection scanner, reinstall driver time after time

    I regularly get an error when trying to scan (wireless). Solution is to reinstall the driver. I think the problem arises after a windows update. I need to reinstall every few weeks. Anyone got a solution?

  • Problems syncing ipad, problems syncing ipad

    Hi There, I have just bought a 27" Mac and would like to Sync my ipad to it. The problem that I have is I keep getting a message that says unable to sync because there is not enough free space to hold all the items in the iTunes library. I have flagg