Can we pass arguments to JNLP?

I am new to JNLP and want to know can we pass arguments to JNLP?
If yes where I can find the info abt it?

Dolda2000 wrote:
Will that really work well, though? As far as I can tell, the JNLP client will try to refetch the JNLP file when launching the Java program (reasonable enough). If I were to include
information from that is only available via the user's web brower's session, I would not be able to recreate that data when the JNLP client tried to refetch the JNLP file.If you're worried about that why not use a user specific cookie?
Your CGI script can check for/generate/pass one along with the XML stub.
As far as I know the JNLP is stateless. It loads once,
the information is cached, your application gets run....
I already do this with <applet> tags (not currently JNLP) to identify returning users
and pass dynamic parameters to applets. I will be updating to JNLP after a rewrite
of some code.
P

Similar Messages

  • How can I pass arguments to a TestStand sequence with LabWindows 6 ?

    Hi
    I have created sequences in a TestStand file.
    I want to program a sequence with Labwindows 6 which would call all these existing sequences (containing parameters).
    I don't have any problems to create the steps "SequenceCall" but i don't know how to pass arguments to the sequences with the TS API.
    I have used the look-up strings "TS.SData.SFPath", "TS.SData.SeqName", "TS.SData.ThreadOpt" to program the sequence file / sequence and the multithread option. But now how to program the arguments passing ? I think there is something with the lookup string "ST.SData.ActualArgs"...
    Thank u very much for any help

    I'm not sure if you want to pass values from TestStand to LabWindows or if you want to pass values in TestStand from a sequence call step to a called sequence.
    To get TestStand variables from LabWIndows, use the following function:
    tsErrChk (TS_PropertyGetValNumber(testData->seqContextCVI, &errorInfo, "Locals.StartPoint", 0, &dStartPt));
    iStartPt = (int)dStartPt;
    The TS_PropertyGetValNumber gets the TestStand variable Locals.StartPoint and puts it into the LabWindows variable called dStartPoint. Numbers to and from Test Stand are always a double type. The next line converts it to an integer.
    To put a LabWindows value to TestStand, use TS_PropertyPutValNumber.
    To pass values from a sequence call step to a called sequence, create variables in the Parameters t
    ab on your main sequence. Create same variables on the Parameters tab of the called sequence. In main, specify module to be called in calling step. There is a paramters section on the Edit Sequence Call dialog box which appears. Check the Use Prototype of the Selected Sequence box. You can then list all the parameter variables in the parameters section.
    Hope this is what you want.
    - tbob
    Inventor of the WORM Global

  • How can we pass argument to static block of code????

    hi ,
    My question is we can use static initialization block for having functionality like constructors for initializing static variable ,but we cannot pass arguments to static initialization block then how can I create functionality like parametrized constructors.Whats the alternative shall I use a static method to perform this functionality,since all methods in given class are static and
    there is no need of creating instance of class.

    jduprez wrote:
    Hello Jussi,Salut Jérôme
    That's probably a more maintenable design.
    However what do you base your remark on - I'm struck by the word obviously?
    Is there some design principle from which this advice so naturally ensues that it is obvious ?Yes I read my posting later on and thought about changing it, since it's not necessarily an obvious solution. I was making assumptions that I didn't clarify from the OP.
    In the OP's case, the "state" on which those methods operate is apparently fixed, presumably at the beginning of the program, so what's wrong with all this staticness?
    I can list:
    - threading issues (a non-issue after some initialization phase), that you wouldn't have with immutable instances
    - harder unit-testing (that's not an OO design problem, more a methodology problem)
    - mix and confusion between static and non-static state if the class ever happens to have both, in future maintenance. All good points, I see all-static classes as a "code smell" and especially in this case when there's parametrization involved.
    Now we just need to have the OP explain his situation a bit better.

  • How can I pass arguments from one MIDlet to another MIDlet

    Hi everybody !
    Can anybody help me in knowing that how can I pass the parameters from one
    MIDlets to another one in same application.
    I am devloping a application in which I am using more than two MIDlet and I
    want to transfer Parameter from one MIDlet to another one.
    I just explain what I have done....
    I made a MIDlet "A" and "B" in the same project using NetBeans IDE.
    In MIDlet "A" I create the Object of MIDlet "B" so that the constructor of
    MIDlet "B" is called and parameter can be transferred.
    But when I run the program it shows me two MIDlet on the screen, that I
    doesn't need.
    Suggestion are most welcome....
    Thanks in advance
    Regards
    Bhagwat

    If you create two MIDlet in a midlet suite, it will display as you mentioned means you can't change the display style.

  • Passing arguments in JNLP not working

    I am trying to send arguments to my web start application in the JNLP file attached below.
    But my application claims that there are no arguments passed to its main program.
    This is under JDK 1.4.2 and Windoze XP.
    Has anyone seen this problem or seen it work? I must be doing something simple wrong, but no apparent error messages.
    <?xml version="1.0" encoding="utf-8"?>
    <!-- JNLP File for THREDDS Data Viewer -->
    <jnlp spec="1.0" codebase="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/" href="Viewer.jnlp">
    <information>
    <title>Start THREDDS Data Viewer with selected dataset</title>
    <vendor>Unidata</vendor>
    <homepage href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/index.html"/>
    <description>THREDDS Data Viewer</description>
    <description kind="short">Prototype client for THREDDS Data servers. </description>
    <icon href="Viewer.gif"/>
    <offline-allowed/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.4" max-heap-size="512m"/>
    <jar href="threddsViewer.jar"/>
    <jar href="threddsViewerResources.jar"/>
    <jar href="threddsViewerResourcesOptional.jar" download="lazy"/>
    <extension name="THREDDS common" href="../common/common.jnlp"/>
    <extension name="SunExtensions" href="../SunExtensions/SunExtensions.jnlp"/>
    <extension name="xml" href="../xml/xml.jnlp"/>
    <property name="javax.xml.parsers.SAXParserFactory" value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
    <property name="javax.xml.parsers.DocumentBuilderFactory" value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
    </resources>
    <application-desc>
    <argument>-dataset</argument>
    <argument>catalog=http://localhost:8080/thredds/catalog.xml&dataset=IDVtest</argument>
    </application-desc>
    </jnlp>
    THANKS!

    I tried running this with 1.5.0-beta1
    webstart reports that the signature is bad on one of the signed extensions, and will not run
    (http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/Viewer.jnlp)
    However the jnlp cache viewer can show the interpretation of the jnlp file. It shows:
    <jnlp spec="1.0" codebase="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/" href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/Viewer.jnlp">
    <information>
    <title>THREDDS Data Viewer </title>
    <vendor>Unidata</vendor>
    <homepage href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/index.html"/>
    <description>THREDDS Data Viewer</description>
    <description kind="short">Prototype client for THREDDS Data servers. </description>
    <icon href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/Viewer.gif" kind="default"/>
    <offline-allowed/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se max-heap-size="536870912" version="1.4"/>
    <jar href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/threddsViewer.jar" download="eager" main="false"/>
    <jar href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/threddsViewerResources.jar" download="eager" main="false"/>
    <jar href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/Viewer/threddsViewerResourcesOptional.jar" download="lazy" main="false"/>
    <extension href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/common/common.jnlp" name="THREDDS common"/>
    <extension href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/SunExtensions/SunExtensions.jnlp" name="SunExtensions"/>
    <extension href="http://www.unidata.ucar.edu/projects/THREDDS/tech/webstart/xml/xml.jnlp" name="xml"/>
    <property name="javax.xml.parsers.SAXParserFactory" value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
    <property name="javax.xml.parsers.DocumentBuilderFactory" value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
    </resources>
    <application-desc main-class="thredds.viewer.Main"/>
    </jnlp>
    ie: no arguments.
    looking at the file in the cache, I see the same thing.
    it has no <argument>-dataset</argument> in the application-desc
    /Dietz

  • Can we pass arguments within HTML pages

    can we send some arguments among the HTML pages.
    eg: say if I have a form in one.html whose action is
    two.html?txtText=evil&txttext2=actuallywon
    if the same page was requested to a JSP page I could have retrived through request.getParameter("");
    But i dont know to do it in the HTML pages
    My concern is that the requested page two.html should get the values
    thanks

    You'll need to use JavaScript in your receiving HTML page (two.html) as documented in the blog entry [Get URL Parameters Using JavaScript|http://www.netlobo.com/url_query_string_javascript.html].

  • Can I pass arguments to CQL?

    Hi,
    I'm planning to join my events with a table source using CQL. But I dont want to query the entire table source because it's too big, instead, I want to put a "where" condition in my CQL so that it will only fetch a subset of records from the table source. But my "where" condition is dynamic. I want to pass variables to my "where" condition. Something like:
    "SELECT * FROM STREAM1 [NOW], TABLE1 WHERE STREAM1.ID=TABLE1.ID AND TABLE1.KEY > #START_KEY# AND TABLE1.KEY < #END_KEY#"
    where the #START_KEY# and #END_KEY# are the variables/arguments that I will pass to the CQL. Is there a mechanism like this?
    Thanks,
    Aurelio

    Here is another way of doing this -
    1) Create a (local) cache and store the variables START_KEY and END_KEY
    2) Join the input stream Stream1 with cache C as follows -
    RSTREAM (
    SELECT
    S.*,
    C.START_KEY,
    C.END_KEY
    FROM
    STREAM1[NOW] AS S,
    Cache AS C
    3) Stream the output of the above query into a channel Stream2
    Then, use the query
    RSTREAM (
    SELECT
    FROM
    STREAM2 [NOW],
    TABLE1
    WHERE
    STREAM2.ID=TABLE1.ID AND
    TABLE1.KEY > STREAM2.START_KEY AND
    TABLE1.KEY < STREAM2.END_KEY
    4) Change the values of START_KEY and END_KEY in the cache dynamically. Subsequent events on Stream1 will pick up the changed values

  • Passing arguments from jnlp file to application

    Hi,
    I am using a jnlp file to launch an application. This is working perfectly. Now I want my application to get some custom properties for making an rmi connection . The only place where I must specify this is in the jnlp file which is dynamically generated. The dynamically generated JNLP file contains:
    <property name="abc.rmi.adapter.host" value="localhost"/>
    <property name="abc.rmi.adapter.port" value="5050"/>
    <property name="abc.rmi.adapter.servicename" value="abc/RMIClientAdapter/"/>
    This does not work.
    However, according to sun only certain types of properties are supported by jnlp for security reason. Is there any way to get over this and have my custom properties. Any help will be appreciated.
    Thanks,
    dasappan

    If you are trying to use RMI, you probably need all-permissions allready.
    for applications requesting all-permissions, all of the properties set in the jnlp file will be set as system properties before the applications "main" is called.
    If you are not using <security><all-permissions/></security>, then only specific trusted properties, plus any begining with "javaws." or "jnlp." will be allowed.
    For properties you just need to pass to yourself, just append "jnlp." to the front of them.
    /Andy

  • Passing arguments to VBScript Program Object - Without WScript.Arguments?

    I am trying to create a program object with a VBScript that will change the name of a PDF created by a scheduled report. I need to be able to tack on the string "OH_2010_Qtr_1" (or whatever state - OH is used as an example) before the file extension - the VBScript creates that string based on the date the report is run. I want to be able to pass parameters to this script but when I try to do so I get the error "Variable is undefined 'WScript'" when trying to run the program object. I tried creating a batch file that would pass in the parameters and I get a generic error.
    How can I pass arguments to my VBScript? The arguments are necessary because this is for multiple instances of the same report, run for different states.

    For VBScript Program Objects, some injected objects:
    For Each arg in Script.Args
        ' Do something interesting with String arg here
        Script.Writeln(arg) ' Output to stdout
    Next
    and
    ' Get InfoStore
    Set infoStore = Session.Service("", "InfoStore")
    Sincerely,
    Ted Ueda

  • Passing Arguments to Scheduler Chains

    Dear fellows of the Oracle,
    can I pass arguments to programs within a chain?
    What already works is calling a program from a job, passing an argument to the program. So far, so good.
    What I'm trying to do is to run a Scheduler Chain, where one of its steps starts the said program.
    Now, when I create a job to run the chain, I cannot add an argument value anymore with
    DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE
    because this throws an ora-27475.
    Looking at the docs it seems as if there's no way to do what I want - which I thought I could take for granted...
    Any ideas, anyone?
    I'm on 11.2.0.2.
    Kind regards,
    Uwe

    Eric,
    thanks for the explanation about the (potentially) non-deterministic execution order. From this point of view I can understand the limitation, although I still find it quite uncomfortable to use the workaround that Eddie pointed me to.
    On the other hand, if a step of my chain calls a program, maybe I just don't care about the execution order but I know that the arguments I need to pass to this program are the same at any point in time. That's exactly what happens when using the workaround with job metadata and a lookup table. From this point of view I cannot understand the limitation.
    OK, there can be chain configurations where different steps could call the same program and then with different arguments -- but even that wouldn't be possible with this limitation in place. Now, with that woraround I'll have to care about another table, clean it up after job execution etc... not so good, don't you agree?
    Enlighten me, please, should I have missed something.
    Cheers,
    Uwe

  • Can i pass parameters in calling an action through JS/VBS?

    Hi all,
    How can i pass arguments in calling an action through VBS?
    I have to find any set of fonts & replace with any another set of fonts.
    Im trying to do this in action.How can i pass paramaters?
    myRiaz

    i too want the same..
    how to do that ?
    thanks
    subha

  • Can I pass serialized object as argument through WebStart?

    I know I can pass argument through WebStart using <argument> element in the application-desc of the jnlp file.
    Does WebStart support placing a Java serialized string inside the <argument> element? The reason is I want my application to behave differently based on the input object(s).
    So my thinking is first to generate a serialized string form of my object , then place this serialized string inside the <argument> and then when my Application starts, maybe somehow Java deserializes it for me or may be I have to deserializes myself?
    Is this possible?
    Thanks
    -ken

    yes, you can. although I am not sure how long that string can be? what are you going to store in the string - what kind of information?
    I would generally store configuartion parameters in a seperate file. You could pass the path to the config file in your arguments...

  • Problems with passing arguments to app

    Hi.
    I have a litle problem with passing arguments. I create a dynamic jnlp file using jsp. This is my code:
    <%
    response.setContentType("application/x-java-jnlp-file");
    String l = request.getParameter("login");
    String p = request.getParameter("pass");
    out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    out.println("<jnlp spec=\"1.0+\" codebase=\"http://212.244.104.27:8080/PzP_INSTALL/\" href=\"pzp.jsp\">");
    out.println("<information>");
    out.println("<title>xxx</title>");
    out.println("<vendor>xxxx</vendor>");
    out.println("<homepage href=\"main.jsp\"/>");
    out.println("<description>text</description>");
    out.println("<offline-allowed/>");
    out.println("</information>");
    out.println("<security>");
    out.println("<all-permissions/>");
    out.println("</security>");
    out.println("<resources>");
    out.println("<j2se version=\"1.4+\"/>");
    out.println("<jar href=\"jars/pzp.jar\" main=\"true\" download=\"eager\"/>");
    out.println("<jar href=\"jars/config.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/commons-beanutils.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/commons-collections.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/commons-digester.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/commons-logging.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/commons-validator.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/easclient.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/easj2ee.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/jakarta-oro-2.0.7.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/jbcl.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/log4j-1.2.7.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/jdom.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jars/xercesImpl.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<property name =\"javaws.login \"  " + "value=" + "\"" + l + "\"" + "/>");
    out.println("<property name =\"javaws.pass \"  " + "value=" + "\"" + p + "\"" + "/>");
    out.println("</resources>");
    out.println("<application-desc main-class=\"aaa.bbb.ccc.MyClass\"/>");
    out.println("</jnlp>");
    %>My problem is when i have the href tag filled, the arguments that i passed equlas null, when i remove the href everything is ok besides that the app doesnt show in application manager and doesnt create an icon on the desktop.
    out.println("<jnlp spec=\"1.0+\" codebase=\"http://62.89.104.27:8080/PzP_INSTALL/\" href=\"pzp.jsp\">");
    Any help would be appreciated.

    Hello again.
    Thanks for your replay but unfortunetly it doesnt work too :-(
    I've tried to use the out.println statemants in the servlet instead of using a jsp page but the error is the same. Please look at my code and tell me if you can what could be wrong.
    This is the error message:
    An error occurred while launching/running the application.
    Title: PZP
    Vendor: SPEED
    Category: Download Error
    Unable to load resource: http://212.89.104.27:8080/PzP_INSTALL/ServletPZP
    Servlet code.
    package pzp_install;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import pzp_install.LoginBean;
    import javax.swing.JOptionPane;
    public class ServletPZP extends HttpServlet {
      public void init(ServletConfig config) throws ServletException {
      super.init(config);
      config.getServletContext().setAttribute("ServletPZP", this);
      public void doPost(HttpServletRequest request, HttpServletResponse resp)
      throws IOException {
      PrintWriter out = resp.getWriter();
    // Get the value of the request parameter
      String login = request.getParameter("login");
      String pass = request.getParameter("pass");
    resp.setContentType("application/x-java-jnlp-file");
    out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    out.println("<jnlp spec=\"1.0+\" codebase=\"http://212.89.104.27:8080/PzP_INSTALL/\" href=\"/servletpzp\">");
    out.println("<information>");
    out.println("<title>PZP</title>");
    out.println("<vendor>SPEED</vendor>");
    out.println("<homepage href=\"main.jsp\"/>");
    out.println("<description>Aplikacja wspomagajaca zarzadzanie zleceniami</description>");
    out.println("<offline-allowed/>");
    out.println("</information>");
    out.println("<security>");
    out.println("<all-permissions/>");
    out.println("</security>");
    out.println("<resources>");
    out.println("<j2se version=\"1.4+\"/>");
    out.println("<jar href=\"pzp.jar\" main=\"true\" download=\"eager\"/>");
    out.println("<jar href=\"config.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"commons-beanutils.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"commons-collections.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"commons-digester.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"commons-logging.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"commons-validator.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"easclient.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"easj2ee.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jakarta-oro-2.0.7.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jbcl.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"log4j-1.2.7.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"jdom.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<jar href=\"xercesImpl.jar\" main=\"false\" download=\"eager\"/>");
    out.println("<property name =\"javaws.login \"  " + "value=" + "\"" + login + "\"" + "/>");
    out.println("<property name =\"javaws.pass \"  " + "value=" + "\"" + pass + "\"" + "/>");
    out.println("</resources>");
    out.println("<application-desc main-class=\"pl.speednet.pzp.PzP\"/>");
    out.println("</jnlp>");
      public void destroy() {
      super.destroy();
    This is the brief of code which starts the servlet
    <form action="http://212.89.104.27:8080/PzP_INSTALL/servletpzp" method="post">
      <input type="hide" name="login" value=<%=l%>>
      <input type="hide" name="pass" value=<%=p%>>
      <input type=submit value=Start PZP>
    </form>
    This is the web.xml file code.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <servlet>
        <servlet-name>ServletPZP</servlet-name>
        <servlet-class>pzp_install.ServletPZP</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>ServletPZP</servlet-name>
        <url-pattern>/servletpzp</url-pattern>
      </servlet-mapping>
      <mime-mapping>
        <extension>jar</extension>
        <mime-type>application/x-java-archive</mime-type>
      </mime-mapping>
      <mime-mapping>
        <extension>jnlp</extension>
        <mime-type>application/x-java-jnlp-file</mime-type>
      </mime-mapping>
    </web-app>

  • Immediate help needed - passing parameters from jnlp to standard java app

    hello guys,
    i am new to the java world. i need some help from you immediately please.
    i want to pass information stored in the session varibles to the standard java application through jnlp.
    for example i want to pass customerid having customer information through the jnlp file to the standard java application. how to do it.
    i am creating the jnlp file dynamically and saving the session variables of a client as arguments in it(such as customerid described above). i generated the jnlp something like this...
    <application-desc>
    <argument>21</argument>
    <argument>cltds21.txt</argument>
    </application-desc>
    is this the way i am supposed to pass arguments through the jnlp file to the standard java application . if yes how to get these arguments from the jnlp file in standard java application using code. please help me.
    your help will be appreciated,
    thanks.

    Yes - you can pass args in this way,.
    with these settings, the args will be available to the programs main:
    public static main(String [] arg) {
    then arg[0] will be "21", arg[1] will be "cltds21.txt".
    /Dietz (aka Andy)

  • Can i pass an int * to a native function?

    From Java, can I pass an int pointer to the JNI?
    I want the native function to assign data to an int in the Java program.
    Many thanks!

    838478 wrote:
    Many thanks to both of you for your helpful responses. I pitched my original question somewhat disingenuously in order to be precise. My actual development issue is broader:
    I have C++ API that passes many data types by reference (as pointers or references) in order to modify the passed values. If I were to wrap this API to call it from from Java it sounds as though passing each parameter as an object (e.g. Integer for int would be the cleanest way to go. Does this sound correct?
    One enigma: I have to call a native function with a char * argument that returns with that char * pointing to a buffer of binary data. How should I pass back that binary buffer to Java? As a String? Your problem is not specific enough.
    1. You want to create data, regardless of the type, on the native heap and pass it through java to another native method. Solution: Use a long. You have a pointer to the data (again the type does NOT matter), you cast it to a long, you return that from your first method, pass it into the second, and there you cast the long back to the pointer. The pointer can point to anything you like including complex data types.
    2. You want to create data, of some complex structure, on the native heap and then access that data in java. Then you MUST map it to java types, every piece of data, of every type, specific to the type. So a native int maps to a java int (if the sizes match), a char* maps to a String, etc. You MUST create in some fashion every java data item that you need. There are NO shortcuts.

Maybe you are looking for