Create Attribute Dimension via the JAVA api

<p>Does anyone know how to create an attribute dimenions via theJava API ?</p><p> </p><p>I can set the dimension type to attribute via<b>setAttributeDimensionDataType</b> but I don't know how toassociate the attr. dimension with a sparse, normal dimension(which is mandatory).</p><p> </p><p> </p>

Hi Marco,<BR><BR>It is in the IEssCubeOutline interface. Here is sample code from the CreateOutline.java sample code that ships with EDS:<BR><BR>   IEssCubeOutline otl = ... <BR><BR>   IEssDimension product = otl.findDimension("Product");<BR>   otl.associateAttributeDimension(product, caffeinated);<BR><BR>Tim<BR>

Similar Messages

  • Can I create a cert with the Java API only?

    I'm building a client/server app that will use SSL and client certs for authenticating the client to the server. I'd like for each user to be able to create a keypair and an associated self-signed cert that they can provide to the server through some other means, to be included in the server's trust store.
    I know how to generate a key pair with an associated self-signed cert via keytool, but I'd prefer to do it directly with the Java APIs. From looking at the Javadocs, I can see how to generate a keypair and how to generate a cert object using an encoded representation of the cert ( e.g. java.security.cert.CertificateFactory.generateCertififcate() ).
    But how can I create this encoded representation of the certificate that I need to provide to generateCertificate()? I could do it with keytool and export the cert to a file, but is there no Java API that can accomplish the same thing?
    I want to avoid having the user use keytool. Perhaps I can execute the appropriate keytool command from the java code, using Runtime.exec(), but again a pure java API approach would be better. Is there a way to do this all with Java? If not, is executing keytool via Runtime.exec() the best approach?

    There is no solution available with the JDK. It's rather deficient wrt certificate management, as java.security.cert.CertificateFactory is a factory that only deals in re-treads. That is, it doesn't really create certs. Rather it converts a DER encoded byte stream into a Java Certificate object.
    I found two ways to create a certificate from scratch. The first one is an all Java implementation of what keytool does. The second is to use Runtime.exec(), which you don't want to do.
    1. Use BouncyCastle, a free open source cryptography library that you can find here: http://www.bouncycastle.org/ There are examples in the documentation that show you how to do just about anything you want to do. I chose not to use it, because my need was satisfied with a lighter approach, and I didn't want to add a dependency unnecessarily. Also Bouncy Castle requires you to use a distinct version with each version of the JDK. So if I wanted my app to work with JDK 1.4 or later, I would have to actually create three different versions, each bundled with the version of BouncyCastle that matches the version of the target JDK.
    2. I created my cert by using Runtime.exec() to invoke the keytool program, which you say you don't want to do. This seemed like a hack to me, so I tried to avoid it; but actually I think it was the better choice for me, and I've been happy with how it works. It may have some backward compatibility issues. I tested it on Windows XP and Mac 10.4.9 with JDK 1.6. Some keytool arguments changed with JDK versions, but I think they maintained backward compatibility. I haven't checked it, and I don't know if I'm using the later or earlier version of the keytool arguments.
    Here's my code.
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.security.KeyStore;
    import java.security.KeyStoreException;
    import java.security.NoSuchAlgorithmException;
    import java.security.cert.CertificateException;
    import javax.security.auth.x500.X500Principal;
    import javax.swing.JOptionPane;
    public class CreateCertDemo {
         private static void createKey() throws IOException,
          KeyStoreException, NoSuchAlgorithmException, CertificateException{
         X500Principal principal;
         String storeName = ".keystore";
         String alias = "keyAlias";
         principal = PrincipalInfo.getInstance().getPrincipal();
         String validity = "10000";
         String[] cmd = new String[]{ "keytool", "-genKey", "-alias", alias, "-keyalg", "RSA",
            "-sigalg", "SHA256WithRSA", "-dname", principal.getName(), "-validity",
            validity, "-keypass", "keyPassword", "-keystore",
            storeName, "-storepass", "storePassword"};
         int result = doExecCommand(cmd);
         if (result != 0){
              String msg = "An error occured while trying to generate\n" +
                                  "the private key. The error code returned by\n" +
                                  "the keytool command was " + result + ".";
              JOptionPane.showMessageDialog(null, msg, "Key Generation Error", JOptionPane.WARNING_MESSAGE);
         KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
         ks.load(new FileInputStream(storeName), "storePassword".toCharArray());
            //return ks from the method if needed
    public static int doExecCommand(String[] cmd) throws IOException{
              Runtime r = Runtime.getRuntime();
              Process p = null;
              p = r.exec(cmd);
              FileOutputStream outFos = null;
              FileOutputStream errFos = null;
              File out = new File("keytool_exe.out");
              out.createNewFile();
              File err = new File("keytool_exe.err");
              err.createNewFile();
              outFos = new FileOutputStream(out);
              errFos = new FileOutputStream(err);
              StreamSink outSink = new StreamSink(p.getInputStream(),"Output", outFos );
              StreamSink errSink = new StreamSink(p.getErrorStream(),"Error", errFos );
              outSink.start();
              errSink.start();
              int exitVal = 0;;
              try {
                   exitVal = p.waitFor();
              } catch (InterruptedException e) {
                   return -100;
              System.out.println (exitVal==0 ?  "certificate created" :
                   "A problem occured during certificate creation");
              outFos.flush();
              outFos.close();
              errFos.flush();
              errFos.close();
              out.delete();
              err.delete();
              return exitVal;
         public static void main (String[] args) throws
              KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException{
              createKey();
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    //Adapted from Mike Daconta's StreamGobbler at
    //http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4
    public class StreamSink extends Thread
        InputStream is;
        String type;
        OutputStream os;
        public StreamSink(InputStream is, String type)
            this(is, type, null);
        public StreamSink(InputStream is, String type, OutputStream redirect)
            this.is = is;
            this.type = type;
            this.os = redirect;
        public void run()
            try
                PrintWriter pw = null;
                if (os != null)
                    pw = new PrintWriter(os);
                InputStreamReader isr = new InputStreamReader(is);
                BufferedReader br = new BufferedReader(isr);
                String line=null;
                while ( (line = br.readLine()) != null)
                    if (pw != null)
                        pw.println(line);
                    System.out.println(type + ">" + line);   
                if (pw != null)
                    pw.flush();
            } catch (IOException ioe)
                ioe.printStackTrace(); 
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import javax.security.auth.x500.X500Principal;
    public class PrincipalInfo {
         private static String defInfoString = "CN=Name, O=Organization";
         //make it a singleton.
         private static class PrincipalInfoHolder{
              private static PrincipalInfo instance = new PrincipalInfo();
         public static PrincipalInfo getInstance(){
              return PrincipalInfoHolder.instance;
         private PrincipalInfo(){
         public X500Principal getPrincipal(){
              String fileName = "principal.der";
              File file = new File(fileName);
              if (file.exists()){
                   try {
                        return new X500Principal(new FileInputStream(file));
                   } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                        return null;
              }else{
                   return new X500Principal(defInfoString);
         public void savePrincipal(X500Principal p) throws IOException{
              FileOutputStream fos = new FileOutputStream("principal.der");
              fos.write(p.getEncoded());
              fos.close();
    }Message was edited by:
    MidnightJava
    Message was edited by:
    MidnightJava

  • Finding tasks via the Java API

    I am using Oracle BPEL Process Manager 10.1.2 (Beta3) with a java client. I am simply trying to list tasks assigned to an individual using the following code:
    package com.gw.apps.bpel;
    import com.oracle.bpel.client.Locator;
    import com.oracle.bpel.client.NormalizedMessage;
    import com.oracle.bpel.client.dispatch.IDeliveryService;
    import com.oracle.services.bpel.task.DefaultTasklet;
    import com.oracle.services.bpel.task.ITask;
    import com.oracle.services.bpel.task.IWorklistService;
    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Properties;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    public class ShowTasks
    public ShowTasks()
    public void showTasks()
    try {
    java.util.Hashtable props = new Hashtable();
    props.put("orabpel.platform","oc4j_10g");
    props.put("java.naming.factory.initial","com.evermind.server.rmi.RMIInitialContextFactory");
    props.put("java.naming.provider.url","ormi://localhost/orabpel");
    props.put("java.naming.security.principal","admin");
    props.put("java.naming.security.credentials","welcome");
    props.put("dedicated.rmicontext", "true");
    Locator loc = new Locator("default","bpel","127.0.0.1",props);
    IWorklistService taskService = (IWorklistService)loc.lookupService(IWorklistService.SERVICE_NAME);
    System.out.println("Finding Tasks....");
    ITask[] tasks = taskService.listTasksByAssignee("[email protected]");
    catch (Exception e)
    System.out.println(e.getMessage());
    * @param args
    public static void main(String[] args)
    ShowTasks showTasks = new ShowTasks();
    showTasks.showTasks();
    When I run the code I am getting the error:
    Error deserializing return-value: java.io.InvalidClassException: org.collaxa.thirdparty.dom4j.tree.AbstractNode; local class incompatible: stream classdesc serialVersionUID = 2188750142857195041, local class serialVersionUID = -2607565468107109475
    I believe that I have all the correct libraries set up in JDeveloper. Can anybody please point me in the right direction?

    Yes - here are the import statements.
    package com.gw.apps.bpel;
    import com.oracle.bpel.client.Locator;
    import com.oracle.bpel.client.NormalizedMessage;
    //import com.oracle.bpel.client.dispatch.IDeliveryService;
    import com.oracle.bpel.client.delivery.IDeliveryService;
    import com.oracle.bpel.client.util.WhereCondition;
    import com.oracle.services.bpel.task.DefaultTasklet;
    import com.oracle.services.bpel.task.ITask;
    import com.oracle.services.bpel.task.IWorklistService;
    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Properties;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    Just to expand, I am developing using JDeveloper10g version 9.0.5.2 and running the code from here.

  • How do I create a user, in my context in OID using the Java API

    How do I create a user, with subschema, in my context in OID using the JAVA API
    I need to be able to create new users in my OID, I was doing it in our old iPlant Directory, but I don't seem to see the same methods in the Oracle LDAP API. I figured out how to get and modify the attributes of a user, but I can't seem to figure out how to add a new one.

    Try this code , modify it accordingly
    ------- cut here -------
    import oracle.ldap.util.*;
    import oracle.ldap.util.jndi.*;
    import javax.naming.NamingException;
    import javax.naming.directory.*;
    import java.io.*;
    import java.util.*;
    public class NewUser
    final static String ldapServerName = "yourLdapServer";
    final static String ldapServerPort = "4032";
    final static String rootdn = "cn=orcladmin";
    final static String rootpass = "welcome1";
    public static void main(String argv[]) throws NamingException
    // Create the connection to the ldap server
    InitialDirContext ctx = ConnectionUtil.getDefaultDirCtx(ldapServerName,
    ldapServerPort,
    rootdn,
    rootpass);
    // Create the subscriber object using the default subscriber
    Subscriber mysub = null;
    String [] mystr = null;
    try {
    RootOracleContext roc = new RootOracleContext(ctx);
    mysub = roc.getSubscriber(ctx, Util.IDTYPE_DN, "o=dec", mystr);
    catch (UtilException e) {
    e.printStackTrace();
    // Create ModPropertySet with user information
    ModPropertySet mps = new ModPropertySet();
    mps.addProperty(LDIF.ATTRIBUTE_CHANGE_TYPE_ADD,"cn", "Steve.Harvey");
    mps.addProperty(LDIF.ATTRIBUTE_CHANGE_TYPE_ADD,"sn", "Harvey");
    mps.addProperty(LDIF.ATTRIBUTE_CHANGE_TYPE_ADD,"uid", "SHarvey");
    mps.addProperty(LDIF.ATTRIBUTE_CHANGE_TYPE_ADD,"givenname", "Steve");
    mps.addProperty(LDIF.ATTRIBUTE_CHANGE_TYPE_ADD,"mail", "[email protected]");
    mps.addProperty(LDIF.ATTRIBUTE_CHANGE_TYPE_ADD,"userpassword", "welcome1");
    // Create the user
    User newUser = null;
    try {
    newUser = mysub.createUser(ctx, mps, true);
    System.out.println("New User DN: " + newUser.getDN(ctx));
    catch (UtilException e) {
    e.printStacktrace();
    ------- end cut --------
    Enjoy.
    Suhail

  • How can I create a new User with the Java API like OIDDAS do?

    Hello,
    I'm currently working on an BPEL based process. And i need to create an OCS user. So far I can create an user in the OID. But I cant find any documentation about given this user an email account,calendar and content function etc.
    Did anybody know if there are some OIDDAS Webservices? Or did anybody know how to do this using the Java APIs?

    You are asking about a Database User I hope.
    You can look into the Oracle 8i Documentation and find various privillages listed.
    In particular, you may find:
    Chapter 27 Privileges, Roles, and Security Policies
    an intresting chapter.
    You may want to do this with the various tools included with 8i - including the
    Oracle DBA Studio - expand the Security node and you can create USERS and ROLES.
    Or use SQL*Plus. To create a
    user / password named John / Smith, you would login to SQL*Plus as System/manager (or other) and type in:
    Create user John identified by Smith;
    Grant CONNECT to John;
    Grant SELECT ANY TABLE to John;
    commit;
    There is much more you can do
    depending on your needs.
    Please read the documentation.
    -John
    null

  • How do I create a Campaign Entry via the Bulk API

    I am importing contacts into Eloqua via an Audience App and the Bulk API.  When if I look in the Campaign Entry Report, those contacts don't appear.  If I examine a contact that does appear in the report, I see that it has Campaign Entry and Campaign Membership under Recent Activity.  What do I need to do to make that happen for the contacts I'm importing via the Bulk API?  I've looked through the API documentation but haven't found what I need.

    In the Style editor you only see the CSS files used by the website in the currently selected tab.
    You won't see any references to the userContent.css file via the built-in Inspector.
    Only the DOM Inspector show such CSS rules if you inspect an element that have a matching selector.
    You do not need to import the userContent.css file as Firefox does this automatically each time you start Firefox and the rules that apply will automatically be added.
    *DOM Inspector: https://addons.mozilla.org/firefox/addon/dom-inspector-6622/
    *https://developer.mozilla.org/DOM_Inspector
    *https://developer.mozilla.org/Introduction_to_DOM_Inspector

  • Extracting specific detial about class from the JAVA API created by Javadoc

    hi ,
    Bacialy I need to get detials of all classes from the Java packages for my project. So i thought getting detials from the Java API document might be one way of doing it. If any one tell me some package or software which can get particulat text from the API document that will be great.
    Thank you,
    Raj

    Hi,
    I think, much easier way would be to write a little doclet. That doclet would take the information you need directly from the Doclet API and generate by it a plain text with the content you wish (for instance, as an SQL script that loads everything into a certain database).
    Obtaining this from the generated HTML documentation just adds one extra step (and a lot more complicated, by the way).
    Also, you can avoid even writing a doclet.
    There is a tool called DocFlex/Javadoc:
    http://www.filigris.com/products/docflex_javadoc/
    It is a template-driven doclet, which can be easily programmed to do the job. (However, a license will be needed).
    Regards,
    Leonid Rudy
    http://www.docflex.com

  • Help with Essbase 9 and the Java API

    Hi, I am trying to connect to Essbase from a Java desktop application and I am unable to do so. I need to know if I am in principle doing the right things and if I have the correct environment set up.
    We have a server with Essbase version 9.3.1. We normally use essbase via the Excel Addin, and I have already written Excel applications that utilise both the addin and the Essbase VB API. Now I need to connect to Essbase but from outside Excel and using the Java API. I have no idea what APS is nor does my Essbase Administrator.
    My application has the following code (adapted from a post in this forum) -
    public static void main(String[] args) {
    String s_userName = "user";
    String s_password = "password";
    String s_olapSvrName = "ustca111";
    String s_provider = "http://localhost:13080/aps/JAPI";
    try{
    IEssbase ess = IEssbase.Home.create(IEssbase.JAPI_VERSION);
    IEssDomain dom = ess.signOn(s_userName, s_password, false, null, s_provider);
    IEssOlapServer olapSvr = dom.getOlapServer(s_olapSvrName);
    olapSvr.connect();
    System.out.println("Connection to Analyic server '" + olapSvr.getName() + "' was successful.");
    olapSvr.disconnect();
    }catch(EssException exp){
    System.out.println(exp.getMessage());
    I am running my application on my computer, not on the Essbase server, and the username I am using is the same one I use (as a user of Essbase) via the Essbase Addin in Excel, not an admin login.
    When I run the app I get:
    "Cannot connect to Provider Server.Make sure the signon parameters are correct and the Provider Server is running."
    Please can you confirm:
    1) Do I need an admin login for my client application to connect to the Essbase server or can I use a normal read-access login, like the one I use in Excel?
    2) Is the provider always the same regardless of the computer, i.e. "http://localhost:13080/aps/JAPI"; How do I know what this has to be? Where do I get this information from?
    3) How can I make sure that the Server is running the necessary "Provider Server", is this just a service that will show on services.msc of the server? What should I ask the Essbase Administrator for him to tell me what I need?
    Thank you very much.
    Leo

    Tim, when I look in my computer's Essbase installation path I can only find the following jar files (from the ones you have listed).
    C:\Hyperion\AnalyticServices\JavaAPI\external\css\log4j-1.2.8.jar
    C:\Hyperion\AnalyticServices\JavaAPI\lib\ess_es_server.jar
    C:\Hyperion\AnalyticServices\JavaAPI\lib\ess_japi.jar
    I do not have css-9_3_1.jar or interop-sdk.jar.
    In order to try the embedded mode, I added the three jars I have to the classpath, and have re-built and ran with "embedded" as the provider. This is what I got in my output screen:
    run:
    Error accessing the properties file. essbase.properties: essbase.properties (The system cannot find the file specified). Using default values.
    Hyperion Provider Services - Release 9.3.1.0.0 Build 168
    Copyright (c) 1991, 2007 Oracle and / or its affiliates. All rights reserved.
    connection mode : EMBEDDED
    essbase.properties: essbase.properties
    domain.db location: domain.db
    console log enable : false
    file log enable : false
    logRequest : false
    logLevel : ERROR
    java System properties -DESS_ES_HOME: null
    Scenario Markets Total Legal Entities Products
    Jan Feb Mar
    Standard Units 1.053264054859E7 1.60849856762E7 2.6234553348270003E7
    BUILD SUCCESSFUL (total time: 2 seconds)
    As you can see, this has worked (as I get the data I was looking for at the end), but when I had the url in the provider string, I just get the below, without the initial errors:
    run:
    Scenario Markets Total Legal Entities Products
    Jan Feb Mar
    Standard Units 1.053264054859E7 1.60849856762E7 2.6234553348270003E7
    BUILD SUCCESSFUL (total time: 2 seconds)
    Now that I can get both modes to work I intend to write a Windows application, place it in a shared drive, and allow multiple users to use it. Which mode should I use?
    By the way, I found the essbase.properties file in C:\Hyperion\AnalyticServices\JavaAPI\bin, but when I add it to my app and test it in embedded mode, I get even more errors, but it still gives me the result...output below:
    run:
    java.io.FileNotFoundException: ..\bin\apsserver.log (The system cannot find the path specified)
    at java.io.FileOutputStream.openAppend(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:177)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
    at org.apache.log4j.FileAppender.setFile(FileAppender.java:272)
    at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:156)
    at org.apache.log4j.FileAppender.<init>(FileAppender.java:96)
    at org.apache.log4j.RollingFileAppender.<init>(RollingFileAppender.java:60)
    at com.hyperion.dsf.server.framework.BaseLogger.addAppender(Unknown Source)
    at com.hyperion.dsf.server.framework.BaseLogger.setFileLogEnable(Unknown Source)
    at com.hyperion.dsf.server.framework.DsfLoggingService.sm_initialize(Unknown Source)
    at com.essbase.server.framework.EssOrbPluginDirect.setupLoggingService(Unknown Source)
    at com.essbase.server.framework.EssServerFramework.<init>(Unknown Source)
    at com.essbase.api.session.EssOrbPluginEmbedded.<init>(Unknown Source)
    at com.essbase.api.session.EssOrbPlugin.createPlugin(Unknown Source)
    at com.essbase.api.session.Essbase.signOn(Unknown Source)
    Hyperion Provider Services - Release 9.3.1.0.0 Build 168
    at com.essbase.api.session.Essbase.signOn_internal(Unknown Source)
    at com.essbase.api.session.Essbase.signOn(Unknown Source)
    at esstest.Main.main(Main.java:22)
    Copyright (c) 1991, 2007 Oracle and / or its affiliates. All rights reserved.
    connection mode : EMBEDDED
    log4j:WARN No appenders could be found for logger (com.hyperion.dsf.server.framework.BaseLogger).
    essbase.properties: essbase.properties
    log4j:WARN Please initialize the log4j system properly.
    domain.db location: ./data/domain.db
    console log enable : false
    file log enable : true
    logFileName : ../bin/apsserver.log
    logRequest : false
    logLevel : WARN
    java System properties -DESS_ES_HOME: null
    Scenario Markets Total Legal Entities Products
    Jan Feb Mar
    Standard Units 1.053264054859E7 1.60849856762E7 2.6234553348270003E7
    BUILD SUCCESSFUL (total time: 3 seconds)
    Thank you
    Leo

  • Create group in OID using java api

    Hi all!
    I need to create group in OID using java api. Java api documentation contains examples for creating users but not for groups. I search oracle.com (and google) and didn't find any hint.
    Anybody know the way?
    thank you.

    Andrew,
    a group is created like any other entry in OID. You need to specify the dn, objectclass(es) and (mandatory) attributes.
    e.g.
    objectclass=groupOfUniqueNames
    with
    uniquemember=cn=orcladmin, cn=Users, dc=de,dc=oracle,dc=com
    as an example take a look at
    cn=iASAdmins, cn=Groups,cn=OracleContext,dc=de,dc=oracle,dc=com
    to see the schema (data) for groupofuniquenames you can either use ODM or query the directory server
    ldapsearch -p 3060 -b "cn=subschemasubentry" -s base "objectclass=*"
    regards,
    --Olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Why to use the Java API in MDM

    Hi Experts,
    I am new to the MDM.
    We are having the requirement of inetration between Portal and MDM.Can u please tell me when to use the following coponents like the scenorio's.
    Why to install the MDM Business packages in Portal?
    why to use the JAVA API.
    Please give me the complete information.
    Regards

    Hi Vijay,
    Standard Business Package is use to provide interaction between MDM Server and the Portal. It consists of MDM iViews like Item Detail iView (allows to create,edit and delete the records) , Resultset iView (Displays the records, allows to add the records in workflows etc), Search iViews (for searching)i.e. Data Manager functionality.
    Java API are used when you need some functionality that standard MDM iViews dont have.MDM Java API consists of set of classes and interfaces with the help of which customization can be done.
    Regards,
    Jitesh Talreja

  • Problem with creating customer account using TCA Java API

    Hi,
    I am trying to create customer account using TCA java API. i am getting exception saying PL/SQL numeric error: character to number conversion. but this error raises when calling API method
    HzCustAccountV2Pub.createCustAccount.
    can any body help me in solving this issue, any clue why this exception raises. i have tested even the code given in TCA API user guide. that code also gets same error.

    package client;
    import java.math.BigDecimal;
    import java.sql.Timestamp;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import oracle.jdbc.driver.OracleConnection;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OracleTypes;
    import oracle.apps.ar.hz.v2api.HzCustAccountV2Pub;
    import oracle.apps.ar.hz.v2api.HzPartyV2Pub;
    import oracle.apps.ar.hz.v2api.HzCustomerProfileV2Pub;
    class CreateCustAccount {
         public static void main(String[] args) throws Exception {
         HzCustAccountV2Pub.CustAccountRec p_cust_account_rec = new HzCustAccountV2Pub.CustAccountRec();
         HzPartyV2Pub.PersonRec p_person_rec = new HzPartyV2Pub.PersonRec();
         HzCustomerProfileV2Pub.CustomerProfileRec p_customer_profile_rec = new      HzCustomerProfileV2Pub.CustomerProfileRec();
         BigDecimal[] x_cust_account_id = new BigDecimal[1];
         String[] x_account_number = new String[1];
         BigDecimal[] x_party_id = new BigDecimal[1];
         String[] x_party_number = new String[1];
         BigDecimal[] x_profile_id = new BigDecimal[1];
         String[] x_return_status = new String[1];
         BigDecimal[] x_msg_count = new BigDecimal[1];
         String[] x_msg_data = new String[1];
         try
         Class.forName ("oracle.jdbc.driver.OracleDriver");
         OracleConnection conn = (OracleConnection) DriverManager.getConnection ("jdbc:oracle:thin:@ebiztst.trianz.int:1526:PATCH","apps","apps");
         HzCustAccountV2Pub custaccountV2Pub = new HzCustAccountV2Pub();
         p_cust_account_rec.account_name = "John Ac";
         p_person_rec.person_first_name = "John";
         p_person_rec.person_last_name = "Smith";
         p_cust_account_rec.created_by_module = "TCA_EXAMPLE";
         HzCustAccountV2Pub.createCustAccount(
         conn
         , "T"
         , p_cust_account_rec
         , p_person_rec
         , p_customer_profile_rec
         , "F"
         , x_cust_account_id
         , x_account_number
         , x_party_id
         , x_party_number
         , x_profile_id
         , x_return_status
         , x_msg_count
         , x_msg_data
         System.out.println( "x_return_status = " + x_return_status[0] );
         System.out.println( "x_msg_count = " + x_msg_count[0] );
         System.out.println( "x_msg_data = " + x_msg_data[0]);
         if (x_msg_count[0].intValue() > 1) {
              OracleCallableStatement ocs = null;
              for (int i=0; i<x_msg_count[0].intValue(); i++) {
              ocs = (OracleCallableStatement)conn.prepareCall(
              "begin ? := fnd_msg_pub.get( p_encoded => ’F’ ); end;");
              ocs.registerOutParameter(1, OracleTypes.VARCHAR);
              ocs.execute();
              System.out.println((i + 1) + ". " + ocs.getString(1));
              conn.close();
              } catch (ClassNotFoundException e) {
              System.out.println("Driver Not Found: " + e);
              } catch (SQLException e) {
              System.out.println("SQL Error." + e);
    }

  • Using the Java API to address a specific instance

    Hi,
    I've created another operation (onRequest) in the client of an async. process.
    <!-- portType implemented by the Exp2 BPEL process -->
    <portType name="Exp2">
    <operation name="initiate">
    <input message="tns:Exp2RequestMessage"/>
    </operation>
    <operation name="onRequest">
    <input message="tns:Exp2onRequestMessage"/>
    </operation>
    </portType>
    I then use this operation in a recieve activity so that I can stall the flow of the instance, and then call it whenever I whant from a RMI client.
    <receive createInstance="no" name="onRequest" partnerLink="client" portType="tns:Exp2" operation="onRequest" variable="inputRequest"/>
    My problem is that, after the creation of one or more instances of this process, how can I send a post message to a specific instance using the Java API?
    I understand that i should use something like...
    deliveryService.post("Exp2", "onRequest", nm );
    but there's nothing to "say" that this post message is to be delivered to the instance with the ID "xx".
    I also know that I need to use correlation on this but I don't know how.
    I would really apreciate some help on this.
    Thanks...

    This is a very good question: here is a code snippet that shows how you can add a conversation id to the NormalizedMessage that you are sending to the delivery service.
    HashMap properties = new HashMap();
    properties.put("conversationId", "yourUniqueKeyHere");
    // construct the normalized message and send to the
    // delivery service
    NormalizedMessage nm = new NormalizedMessage( );
    nm.setProperties(properties );
    // The rest is the same
    nm.addPart("XXX" , someElement );
    Please note that you will need to use the conversationId property both with the message you use to initiate the BPEL process and the message you use to perform the onRequest call.
    Please note that if at some point you want to perform any of the 2 calls through the SOAP channel, you can embed he conversationId in the WS-Addressing header within the relateTo element.
    I hope this helps.
    Edwin

  • Using the Java APIs

    I am attempting to use the java api in my reporting solution. The application that we are developing is using JSF and java. I wanted to keep the same look and feel for my reports.
    First, I created a very simple rtf template in Microsoft word using BI Publisher Desktop. This simple template is just a table layout of data. No groupings. I created my datatemplate and ran the DataProcessor, the RTFProcessor, and FOprocessor objects. This worked correctly.
    I next created another rtf template. This rtf template contains a grouping on Po_Number. I also modified my data template to group by Po_number. The DataProcessor and the RTFProcessor works fine. However, the FO Processor gives me the following message:
    XDOException <Line 43, Column 93>: XSL-1015: (Error) Function 'current-group' not found.
    However, I can successfully preview this template (with data) in Microsoft Word. Any ideas what may cause this.

    It's either a template issue or your missing some jar files (probably jar files).
    I would highly recommend you download the BIPublisherIDE. All this code and framework is already written and it's free!
    http://bipublisher.blogspot.com/2008/03/bi-publisher-bipublisheride.html
    Ike Wiggins
    http://bipublisher.blogspot.com

  • Initiating a process via the GP API

    Hi,
    I am writing code that starts a GP process via GP API.  Is there way to discover the appropriate processID without using the GP Design-Time UI.  For example,  the code:
    IGPProcess process = GPProcessFactory.getDesigntimeManager().getActiveTemplate(processId, user);
    requires the processID. 
    Is there a way that I can find the processID via the GP API.  Perhaps,  by using the path to the appropriate process ("Examples/Time-Off Process/Time-off Process").
    Thanks
    Dick

    Hi Richard,
    You can find the process ID in the "Instantiation" tab of the process in the Design Time.
    Otherwise, you can create your own application that retrieves the processes list and you can pick one of them.
    The method "getRootCategory" will return you the root folder in the gallery. Then, the method "getActiveProcessTemplateByCategory" will return you a list of process template info objects. There you can aslo get the ID.
    Hope this helps.
    Best regards,
    David

  • Query for FormSubmit data by ID via the SOAP API

    When I submit a form entry via the SOAP API request 'Create' it get an ID as well as the Form Type data in return:
    <CreateResponse xmlns="https://secure.eloqua.com/API/1.2">
      <CreateResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
           <CreateResult>
                <EntityType>
                     <ID>21</ID>
                     <Name>aherghaewForm</Name>
                     <Type>Form</Type>
                </EntityType>
                <Errors/>
                <ID>3</ID>
           </CreateResult>
      </CreateResult>
    </CreateResponse>
    However, I can't seem to query for that ID. When using the request 'Query'
    <ns:Query>
      <ns:eloquaType>
           <ns:ID>21</ns:ID>
           <ns:Type>Form</ns:Type>
      </ns:eloquaType>
      <ns:searchQuery>ID='3'</ns:searchQuery>
      <ns:pageNumber>1</ns:pageNumber>
      <ns:pageSize>20</ns:pageSize>
    </ns:Query>
    I receive the following Error:
    The search query you provided is invalid: 'id' is invalid.
    As the field 'ID' is not part of the FieldValueCollection, this outcome is not unexpected, but unfortunate, as it would greatly simplify querying for data that was just submitted. Querying for a field that is part of the FieldValueCollection delivers correct results.
    Is there a way to do just that, or do i have to follow another approach to retrieve FormSubmit data?
    Thanks,
    Felix

    OK. I see column X logic now:
    SQL> select  id,
      2          name,
      3          case when instr(sys_connect_by_path(id,',') || ',',',4,') > 0 then 'X' else 'Y' end x
      4    from  worker
      5    start with id in (
      6                      select  id
      7                        from  worker
      8                        where boss_id is null
      9                        start with id = 4
    10                        connect by prior boss_id = id
    11                      )
    12    connect by prior id = boss_id
    13  /
            ID NAME                             X
             1 Mennan                           Y
             2 Ahmet                            Y
             3 Akin                             Y
             4 Ayse                             X
             5 Aylin                            X
             6 Selim                            Y
    6 rows selected.
    SQL>SY.

Maybe you are looking for

  • Can multiple threads write to the database?

    I am a little confused from the statement in the documentation: "Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time." 1. Can multiple th

  • How to enter a full pathname in the path bar?

    Hi guys, I have a very simple question: Is it possible to enter a full pathname (Something like C:/MyDoc/Images/Subfolder/image) directly in the path bar like you can in the Windows Explorer, or do i have to click to that location every time again? T

  • Delay in the Inbound Idoc Posting Process

    Dear Friends, We have an scenario in the Inbound Idoc Posting Process, when we process the Idocs through the standard Inbound Program - RBDAPP01, we face the delay of 3hrs to 12 hrs, approx. When we try to re-process the same through the manual proce

  • Poor print quality with Epson Photo R265 - Please help

    I am changing over from Windows to Mac and finding it 'challenging' - it's me; not the mac (which I love)I'm sure, so any help would be much appreciated. My problem is: when I plugged my usb into the mac it instantly recognised my printer but when I

  • Help, I can't turn off the Ipod

    Since I installed 1.1.3, I have to either leave the Iphone on the charger or leave the Ipod playing. If the phone is idle and goes to sleep, the apple logo keeps flashing and the phone is useless. I plug it back to the charger and it's fine until the