JMS AQ+OID with pure JMS APIs

Hi,
I need to use java standalone applications to send and receive messages to/from AQ.
I don't want to use oracle's proprietary APIs.
Does anyone know how to register all existing queues, factories etc to OID?
Does anyone have sample code on how to get connection factories from OID ?
Thanks,
Sury

Hello,
There are interoperability issues between the Mid-tier and the RDBMS at present because the the mid-tier is using older version of the AQ jar files. At present the mid-tier is based on 10.1.0.5 and the backend will be whatever the backend is. Your issue sounds like a NLS issue given that bytes are fine but text is not. The characterset of the database will probably be important in this situation. So you check if the issue reproduces with different charactersets if possible. What characterset are you using and what is the Payload that the queue table is built on?
I would also suggest you try and build a standalone java application which reproduces the problem. You could most likely achieve this by creating a 10.1.0.5 RDBMS home and using the jar files from that install and then run it against your database to see if it reproduces the issue.
Anything that you can do to break down the problem will help Oracle Support identify what the issue is.
Thanks
Peter

Similar Messages

  • Best docs for using JMS API on AQ

    Hi,
    I have found some oracle docs but all are using the the oracle specific AQ classes to manipulate queue/topic in AQ, ie. oracle.AQ. I was not able to find any docs that uses the generic JMS API, ie. javax.jms.. Hope someone can direct me to some URLs with examples using the generic JMS API.
    thanks.

    Chun-Hong,
    Please take a look here at the 10.1 documentation for Streams Advanced Queuing Java API Reference:
    http://download-west.oracle.com/docs/cd/B14117_01/server.101/b12023/toc.htm
    Good luck!

  • Consumers for distributed queues -- writing the JMS API

    Hi,
    I have Created a cluster MS_01 and MS_02.
    JmsServer-MS01 for MS_01 and JmsServer-MS02 for MS_02.
    Also have create a distributed queue called DistributedQueue-0 and a distributed connection factory called ConnectionFactory-0.
    I have been successfully able to loadbalance sending of messages using the cluster address.
    When i try to consume messages the consumers gets pinned to a MS_01. (As expected)
    I am looking for ways where in using JMS API i can read messages from both the manages instances.
    Appreciate any help.
    thanking you all in advance.
    Regards
    Girish Subbaramu.

    Hi,
    For consuming messages from a distributed queue, by far the best option is to use a WebLogic MDB, which has internal code designed to work well with WebLogic distributed destinations. When a distributed queue runs in the same cluster as the MDB, the MDB service will ensure that there's an MDB deployment instance that is locally servicing each queue member -- even when the queue members migrate between servers, or when they are added or removed due to configuration changes. When the MDB is communicating with a distributed queue in a remote cluster, an MDB running on a single server will automatically set up consumers for each remote member and will dynamically react to member up/down add/remove events.
    If you must use a straight javax.jms client, then I think there are two basic options. The first option is to ensure that that there are more than enough consumers to provide full coverage, and periodically close and re-open the consumers. The periodic close and re-open forces the consumers to load-balance again, and therefore helps handle the case when new destination members become available after the consumers have all attached. The second option is to create consumers directly on each member rather than on the distributed queues logical name (each member has a unique name that's advertised in JNDI).
    Hope this helps,
    Tom

  • Java JMS API vs. RAC FCF features

    Hello,
    I have a JAVA application with queue consumer using the JMS API (JMS text message is the queue payload). On the other hand, I'd like to take advantage of the FCF: to use UCP with FCF enabled as the data source. When the physical connection to the DB fails, I'd like to reconnect and reestablish the queue consumer functionality. But I don't know, how to invent the JDBC connection is broken? In the JMS API I have only javax.jms.QueueConnection (or oracle.jms.AQjmsConnection actually). From that object, I don't have access to the Connection object. The FCF standard way to verify the connection is:
    ((oracle.ucp.jdbc.ValidConnection)conn).isValid()
    But this may be done with conn as Connection object. How can I do connection validation having AQjmsConnection object only?
    Any help appreciated, thanks in advance.

    Finally I found the answer by myself :)
    The db connection object may be obtain from the queue session object: AQjmsSession.getDBConnection()
    BR,
    Kuba

  • Non-persistent Queues and JMS API

    Hi,
    Is it possible to use non-persistent queues via JMS API. My application will always get an NullPointerException when trying to create a queue receiver i.e.
    QueueReceiver rec = qsession.createReceiver(queue);
    Any ideas and thx in advance,
    Wolfgang

    Mark,
              If you want this persistent behavior for non-persistent messages, presumably
              for performance reasons, use a persistent QOS backed by a JMS server with
              a file store that has synchronous-writes-disabled. As long as the O/S and/or
              hardware
              doesn't crash, no data will be lost, even if the WebLogic server is killed.
              See the JMS performance whitepaper on dev2dev.bea.com for details.
              Tom
              Mark wrote:
              > If you define a queue to be non-persistent, then all data is lost in the event
              > of a hardware or software failure.
              > What about in the case of a clean shutdown of the weblogic server hosting the
              > queue?
              > Are the messages held in the queue, paged to disk and restored when the server
              > is restarted?
              

  • JMS api jar??? and implementations

    Is there a simple JMS api jar??? Kind of like the SAX/DOM in j2sdk1.4, where you can change the implementation. I am very confused on how to get started with a client that is not J2EE. Say I have a swing client. How do I do some JMS??? I would assume, I would use the client implementation provided by the JMS vendor, but I am looking at all the open source JMS vendors at
    http://java-source.net/open-source/jms
    When I look at the api's there is no ConnectionFactory like in the Java tutorial for JMS. ie. I can't find the apis. I feel like this is a really dumb question, but it can't be that hard.

    yes, I tried openJMS also. They had this site
    http://openjms.sourceforge.net/usersguide/jars.html
    and guess what, when you click on the jms jar, it leads you to a page with absolutely no jars.
    I also tried uberMQ, and something else. Any JMS setup would be good at this point. I did find a j2ee spec jar from geronimo. Why in the world don't they have one jar that everyone uses instead of everyone typing up their spec jar. This seems like bad way to do it when you want all the companies implementing the same api....I mean, what if I grab a non-spec compliant jms api jar and don't know it.
    Anyways, still just trying to get setup with as minimal a footprint as possible.
    thanks,
    dean

  • Using the JMS API in Java EE Applications

    Hello to all,
    this is some sort of theoretical question.
    I been reading the JMS documentation for a while.
    1.I could not understand what this statement means :
    >
    This section describes the ways in which using the JMS API in enterprise bean applications or web applications differs from using it in application clients.
    2. What is the difference to use the JMS in java EE web orEJB container and application client ?
    Thanks.

    peterwkc wrote:
    Hello to all,
    this is some sort of theoretical question.
    I been reading the JMS documentation for a while.
    1.I could not understand what this statement means :
    >
    This section describes the ways in which using the JMS API in enterprise bean applications or web applications differs from using it in application clients.
    What a developer is allowed to do is different depending on whether they are writing code to run in a container or not. The container already provides lots of services so some code you would write for outside a container is not needed when you write for a container. There are APIs that you are not allowed for in container code if you want to adhere to the spec.
    >
    2. What is the difference to use the JMS in java EE web orEJB container and application client ?
    Thanks.Read more of that document to find out the differences. Application components in Web/EJBs must not create more than one active session per connection while application clients are allowed to do so.

  • Class Not Found: com.bea.wlevs.adapters.jms.api.OutboundMessageConverter in Outbound JMS Converter

    OEP 12.1.3
    Following the instructions in 4 Adapters (12c Release 1 (12.1.3)) I have created a custom message converter bean for my Outbound JMS Adapter (I had to add the JAR file com.bea.wlevs.adapters.jms_12.1.3.0_0.jar from OEP_HOME\oep\modules to my project to make the code compile). However, upon deployment, I ran into a class not found exception:
    <Sep 15, 2014 7:17:19 PM CEST> <Error> <org.springframework.osgi.extender.internal.activator.ContextLoaderListener> <BEA-000000> <Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=CreditCardTheftDetection.AirportCreditCardTransactionProcessing, config=osgibundle:/META-INF/spring/*.xml))
    java.lang.NoClassDefFoundError: saibot.airport.security.prevention.jms.SuspectedCreditCardEventConverter not found from bundle [CreditCardTheftDetection.AirportCreditCardTransactionProcessing (CreditCardTheftDetection.AirportCreditCardTransactionProcessing)]
        at org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:112)
        at org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:270)
    Caused By: java.lang.NoClassDefFoundError: com/bea/wlevs/adapters/jms/api/OutboundMessageConverter
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
    Caused By: java.lang.ClassNotFoundException: com.bea.wlevs.adapters.jms.api.OutboundMessageConverter
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    I have tried adding the JAR file (com.bea.wlevs.adapters.jms_12.1.3.0_0.jar) to my deployment JAR. That did not make any difference.
    Does anyone know why this class OutboundMessageConverter is not found - and more importantly: what I can do to make it available in the run time?
    thanks.
    Lucas

    To make a package available to your application at runtime for OEP, you will need to add it to the application's MANIFEST.MF file to the Import Package section (since the OEP server is OSGi-based). There's no need to supply a version number, you can just enter the package name (e.g.)
    com.bea.wlevs.adapters.jms.api,

  • JMS API and resume download

    Hi!
    Does the JMS API or the Sun Java System Message queue support "resume download" functionality in case there is a probleb in the connection of the client application. From what I have read, the Enterprise Edition of the Sun Java System Message Queue supports this. The standard version does not support this. Is this right?
    Thanks in advance! :)

    Reading messages from a queue is transactional, so if your code commits the transaction then the message is consumed. If your code fails to commit the transaction the message remains on the queue and may be re-read.
    There's nothing in the JMS API which allows you to automatically re-establish a lost connection however - if required you need to write the code to do this yourself.

  • 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

  • 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

  • Calculating values from row to row with pure sql?

    Hello,
    I'm searching for a way to calculate values from row to row with pure sql. I need to create an amortisation table. How should it work:
    Known values at start: (they can be derived with an ordinary sql-statement)
    - redemption amount RA
    - number of payment terms NT
    - annuity P (is constant in every month)
    - interest rate IR
    What has to be calculated:
    First row:
    RA1 = RA - P
    Z1 = (RA1 * (IR/100/12))
    T1 = P - Z1
    2nd row
    RA2 = RA1 - T1
    Z2 = (RA2 * (IR/100/12))
    T2 = P - Z2
    and so on until NT has reached.
    It should look like
    NT
    P
    Tn
    Zn
    RAn
    1
    372,17
    262,9
    109,27
    22224,83
    2
    372,17
    264,19
    107,98
    21961,93
    3
    372,17
    265,49
    106,68
    21697,74
    4
    372,17
    266,8
    105,38
    21432,25
    5
    372,17
    268,11
    104,06
    21165,45
    6
    372,17
    269,43
    102,75
    20897,34
    7
    372,17
    270,75
    101,42
    20627,91
    8
    372,17
    272,09
    100,09
    20357,16
    9
    372,17
    273,42
    98,75
    20085,07
    10
    372,17
    274,77
    97,41
    19811,65
    11
    372,17
    276,12
    96,06
    19536,88
    12
    372,17
    277,48
    94,7
    19260,76
    13
    372,17
    278,84
    93,33
    18983,28
    14
    372,17
    280,21
    91,96
    18704,44
    15
    372,17
    281,59
    90,59
    18424,23
    16
    372,17
    282,97
    89,2
    18142,64
    17
    372,17
    284,36
    87,81
    17859,67
    18
    372,17
    285,76
    86,41
    17575,31
    19
    372,17
    287,17
    85,01
    17289,55
    20
    372,17
    288,58
    83,59
    17002,38
    21
    372,17
    290
    82,18
    16713,8
    22
    372,17
    291,42
    80,75
    16423,8
    23
    372,17
    292,86
    79,32
    16132,38
    24
    372,17
    294,3
    77,88
    15839,52
    25
    372,17
    295,74
    76,43
    15545,22
    26
    372,17
    297,2
    74,98
    15249,48
    27
    372,17
    298,66
    73,52
    14952,28
    28
    372,17
    300,13
    72,05
    14653,62
    29
    372,17
    301,6
    70,57
    14353,49
    30
    372,17
    303,09
    69,09
    14051,89
    31
    372,17
    304,58
    67,6
    13748,8
    32
    372,17
    306,07
    66,1
    13444,22
    33
    372,17
    307,58
    64,6
    13138,15
    34
    372,17
    309,09
    63,08
    12830,57
    35
    372,17
    310,61
    61,56
    12521,48
    36
    372,17
    312,14
    60,04
    12210,87
    37
    372,17
    313,67
    58,5
    11898,73
    38
    372,17
    315,21
    56,96
    11585,06
    39
    372,17
    316,76
    55,41
    11269,85
    40
    372,17
    318,32
    53,85
    10953,09
    41
    372,17
    319,89
    52,29
    10634,77
    42
    372,17
    321,46
    50,71
    10314,88
    43
    372,17
    323,04
    49,13
    9993,42
    44
    372,17
    324,63
    47,55
    9670,38
    45
    372,17
    326,22
    45,95
    9345,75
    46
    372,17
    327,83
    44,35
    9019,53
    47
    372,17
    329,44
    42,73
    8691,7
    48
    372,17
    331,06
    41,11
    8362,26
    I would appreciate every help and idea to solve the problem solely with sql.
    Thanks and regards
    Carsten

    It's using Model Clause and / or Recursive With (sometimes maybe both)
    Regards
    Etbin
    with
    rec_proc(nt,i,ra,p,ir,z,t) as
    (select nt,i,ra - p,p,ir,round((ra - p) * 0.01 * ir / 12,2),p - round((ra - p) * 0.01 * ir / 12,2)
       from (select 48 nt,22597 ra,372.17 p,5.9 ir,0 z,0 t,1 i
               from dual
    union all
    select nt,i + 1,ra - t,p,ir,round((ra - t) * 0.01 * ir / 12,2),p - round((ra - t) * 0.01 * ir / 12,2)
       from rec_proc
      where i < nt
    select * from rec_proc
    try to adjust initial values and rounding please
    NT
    I
    RA
    P
    IR
    Z
    T
    48
    1
    22224.83
    372.17
    5.9
    109.27
    262.9
    48
    2
    21961.93
    372.17
    5.9
    107.98
    264.19
    48
    3
    21697.74
    372.17
    5.9
    106.68
    265.49
    48
    4
    21432.25
    372.17
    5.9
    105.38
    266.79
    48
    5
    21165.46
    372.17
    5.9
    104.06
    268.11
    48
    6
    20897.35
    372.17
    5.9
    102.75
    269.42
    48
    7
    20627.93
    372.17
    5.9
    101.42
    270.75
    48
    8
    20357.18
    372.17
    5.9
    100.09
    272.08
    48
    9
    20085.1
    372.17
    5.9
    98.75
    273.42
    48
    10
    19811.68
    372.17
    5.9
    97.41
    274.76
    48
    11
    19536.92
    372.17
    5.9
    96.06
    276.11
    48
    12
    19260.81
    372.17
    5.9
    94.7
    277.47
    48
    13
    18983.34
    372.17
    5.9
    93.33
    278.84
    48
    14
    18704.5
    372.17
    5.9
    91.96
    280.21
    48
    15
    18424.29
    372.17
    5.9
    90.59
    281.58
    48
    16
    18142.71
    372.17
    5.9
    89.2
    282.97
    48
    17
    17859.74
    372.17
    5.9
    87.81
    284.36
    48
    18
    17575.38
    372.17
    5.9
    86.41
    285.76
    48
    19
    17289.62
    372.17
    5.9
    85.01
    287.16
    48
    20
    17002.46
    372.17
    5.9
    83.6
    288.57
    48
    21
    16713.89
    372.17
    5.9
    82.18
    289.99
    48
    22
    16423.9
    372.17
    5.9
    80.75
    291.42
    48
    23
    16132.48
    372.17
    5.9
    79.32
    292.85
    48
    24
    15839.63
    372.17
    5.9
    77.88
    294.29
    48
    25
    15545.34
    372.17
    5.9
    76.43
    295.74
    48
    26
    15249.6
    372.17
    5.9
    74.98
    297.19
    48
    27
    14952.41
    372.17
    5.9
    73.52
    298.65
    48
    28
    14653.76
    372.17
    5.9
    72.05
    300.12
    48
    29
    14353.64
    372.17
    5.9
    70.57
    301.6
    48
    30

  • Create a Navigational Hierarchy for filtering with the Table API

    Hello,
    I've built a WAD report acourding to the how to document: "Create a Navigational Hierarchy for filtering with the Table API".
    It works great but i dont know How to make the hirarchey to show the key and the text.
    Please Advice.
    David

    Hi Kenneth,
    please have a look in the source of the executed Web Application. What is inside of the <div> with the id filter?
    You should also find a td tag with id hier_xyz with xyz the filter inside of the <div>-Tag with id filter.
    Also check whether you have a javascript error.
    Have a look on the Javascript function set_style. Perhaps you can paste it here, than I can have a look.
    Heike

  • Issues with Check In API

    I'm using Adobe Drive 3.0.1.104 on Windows 7.  When I drag and drop multiple assets into the Explorer Window, right-click those assets and choose "Check In..", none of the handlers associated with my custom checkin dialog (i.e., CanEnableCustomCheckInUIHandler, GetCustomCheckInUIContextInfoHandler and GetCustomCheckInUIHandler) are called.  Only the default check in comments dialog appears.  However, if I select a single asset for check in, then my handlers are correctly called.  Is this the expected behavior?  I want the user to be able to determine the type of object and some metadata in my CMS on import, but don't have this capability when multiple assets are selected.
    The second issue I have is that the CanEnableCustomCheckInUIHandler, GetCustomCheckInUIContextInfoHandler do not have any visibility into non-remote assets through the API (i.e., assets with a null Asset ID).  The getAssetIdentities() call only returns information about assets that already have an assetId.  In these two handlers, I would like to make decisions and set context based on the the entire list of files, not just those that already live in the remote CMS.
    The third issue I have is that I would like capture ContextInfo for each asset individually.  For example, if a user checks in an InDesign file and a linked Image at the same time, I would like capture separate context info for each asset that I can store in my CMS.  I might also want to capture global context that applies to all assets (i.e., the comments are a good example of this, but there could be others).
    Based on these three issues, I am limited to allowing only one asset to be checked in at a time.  However, with the current API, I can't even prevent a check in until my CheckInHandler is called, which is the first opportunity for me to throw an Exception to stop the checkin.  In my opinion, this is not a good user experience because the user will be prompted to enter the comments and then get an error, which means they will loose the information they typed in the comments.
    I'm mostly trying to provide feedback to improve the API, but if there is something I'm overlooking here, please let me know.
    Rich

    Hi,
    For the first issue and the second issue, yes, it's a design limitation, we will try to resolve it in the coming dot release, thanks for pointing out them
    For the third issue, I think you can manage the context info for each item by utilizing IGetCustomCheckInUIContextInfoHandler, you can establish a data structure for the requested items, this structure will be passed to the your custom UI module, the UI module understands it and returns the context info to ICheckInHandler in the custom parameters, in a word, you should establish a comunication protocol between IGetCustomCheckInUIContextInfoHandler, the custom Flex UI module and ICheckInHandler about how to pass and manager the context info.
    Regarding how to prevent a check-in, please provide your deep thoughts on it, we can discuss that in detail

  • Fail to Delete synchronize oid with sun/iPlanet

    I intergrated OID with SUN iplanet with external authen. iPlanet is the master and oid read
    user information from iplanet. The password of user store in iPlanet only.
    After setting up SunOne/Iplanet Synchronize with OID, Adds and Changes work but Deletes Do Not Work.
    In IplanetImport.aud file , I found error like this :
    25 : Success : DELETE : * : Attempt to synchronize deletion. Entry is not found. Ignore.
    How to solve this problem ?
    Regards
    Sukunya

    If it is on 10.1.2.3 Apply the patch 10.1.2.3 ARU 10350043 completed for Generic Platform

Maybe you are looking for