Calling exe from Java
Hi !!!!
I have developed an exe program from prolog. But now I need to develop an interface for the exe with java.
Can anybody help me with developing the interface.
thanks
Muditha
Runtime.getRuntime().exec("your exe here")
Similar Messages
-
Call c++ program .exe from java
Hello every body
i have a problem while calling Hello.exe from java
c++ code
#include "stdafx.h"
#include <iostream>
# include <string>
using namespace std;
int main(int argc, char *argv[])
int x;
cout<<"Just test ";
return 0;
}java code:
import java.io.IOException;
public class runtime{
public static void main(String[] args){
try
Process process = Runtime.getRuntime().exec("Hello.exe");
}catch (IOException e)
e.printStackTrace();
}it display nothing!!alexxzius wrote:
String line="";
BufferedReader input =
new BufferedReader
(new InputStreamReader(process.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
There is a danger of deadlock in this code. The OP should 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. -
Calling C code (exe ) from Java program
Hi all,
kindly help in giving a solution for calling C code (exe ) from Java program, i will be very thank full to u if any body can help in sending a code example
byeYou might need to consume the io operations on the Process...
An excerpt from java.lang.Process:
All its standard io (i.e. stdin, stdout, stderr) operations will be redirected to the parent process through three streams (Process.getOutputStream(), Process.getInputStream(), Process.getErrorStream()). The parent process uses these streams to feed input to and get output from the subprocess. Because some native platforms only provide limited buffer size for standard input and output streams, failure to promptly write the input stream or read the output stream of the subprocess may cause the subprocess to block, and even deadlock. -
Call report from java with deployment of java web start
I need call report from java,the call function is:execURL ( String pURL )
pURL is a url link to call report from report services .
such as :http://10.20.1.43:8888/reports/rwservlet?destype=cache&desformat=PDF&report=test.rdf&user=scott/tiger@cims
public static void execURL ( String pURL )
String tempstr = new String();
int posIdx = 0;
if ( (System.getProperty("os.name").equals("Windows NT"))||
(System.getProperty("os.name").equals("Windows 2000")) )
posIdx = pURL.indexOf("&");
while ( posIdx > 0 )
tempstr = pURL.substring(0,posIdx)+"^"+pURL.substring(posIdx);
pURL = tempstr;
posIdx = pURL.indexOf("&",posIdx+2);
try
Runtime.getRuntime().exec("cmd /c start "+pURL);
catch (Exception e1) {System.out.println(e1.getMessage()); }
else
try
Runtime.getRuntime().exec("start "+pURL);
catch (Exception e2)
System.out.println(e2.getMessage());
It's run with no problem with deployment of simple jar.
But when i call report with deployment of java web start,it can not.
I think it's java secuity problem,so i add
Permission java.io.FilePermission "c://winnt//system32//cmd.exe", "execute";
in java.policy file in client(windows 20000).However ,it can not too.
Who can help me,Thanks in Advance!David,
In your code, 'cmd' is invoked as Runtime.getRuntime().exec("cmd /c start "+pURL);
but in your policy file you specify
Permission java.io.FilePermission "c://winnt//system32//cmd.exe", "execute";
Before creating a new process, the security manager checks for FilePermission(cmd,"execute")
if cmd is an absolute path, otherwise it calls checkPermission with
FilePermission("<<ALL FILES>>","execute"). Try specifying
FilePermission("<<ALL FILES>>","execute") in your policy file.
But, I believe using exec, may not be the right solution as it may not work on
other platforms. Also you will have to expect the client m/c to relax security
permission.
Did you consider using java.net.HttpUrlConnection class instead to access the report
service URL?
HTH,
Sathish. -
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
NickNow 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. -
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 -
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 DonikenaTo 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.
-
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. -
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
RajuThe 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. -
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!!!
thanksA 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"); -
Does somebody know whether it is possible to run some program with extension EXE from JAVA program?
Yes sombody knows. Yes it's possible. Have a look at Runtime#exec.
-
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ørenLast 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 -
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
ArcHi, 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
-
404 Error when opening Web Analysis
I have just finished setting up a System 9 test environment (my first environment), which includes Reporting and Analysis System 9 release 9.3.1.2.00. Unfortunately, I'm having trouble getting Web Analysis to open. When I go to the URL (http://localh
-
HT201318 Can I pay for an additional iCloud storage with an Apple gift card?
I was just wondering if you can pay for an additional iCloud space with and Apple gift card?
-
Itunes will not open after upgrading to 9
I cannot run itunes 9 on XP Everything worked fine untill version 9 was released. At that point I reinstalled version 8 and everything was working. Last week I bought an ipad and it forced me to upgrade to the latest version. I opened after installin
-
Gudday, I need to integrate my adobe form in webdynpro using ABAP and fill the form from the browser which should get updated in the database. I hav form which will display fields like pernr,vorna,nachn. After inserting the form integration element..
-
Font of time on locked screen is way too thin (iOS 7)
i'm new here, dont know if apple is reading complaints here, so just in case... the font, especially for the clock/time is way too thin. really makes my eyes follow that thin thread, to grasp the whole digit. It's ridiculous, cant believe Apple doesn