IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  Source code XMLGreeting.java does NOT work

    Posted Thu August 29, 2002 03:58 PM

    Hello!

    My software is:
    1) Tamino 3.1.1.1
    2) Windows 2000 Professional with SP2
    3) jdk 1.4.0
    4) TaminoClient.jar, TaminoAPI4J.jar, jdom.jar


    I have tried to compile source code by using command:

    javac XMLGreeting.java,

    Unfortunately I got the following message warning:

    ------------------------------------------------
    Note: ProcessXMLGreeting.java uses or overrides a deprecated API.

    Note: Recompile with -deprecation for details
    ------------------------------------------------

    What does it mean?

    However I got XMLGreeting.class so I have tried to execute this file by executing command:

    java XMLGreeting

    Unfortunately, I got the following error message exception:

    -----------------------------------------------
    Exception in thread “main” java.lang.NoClassDefFoundError: XMLGreeting (wrong name: com/softwareag/tamino/db/API/examples/greeting/XMLGreeting)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:306)
    at sun.misc.Laucher$AppClassLoader.loadClass(Launcher.java:265)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
    -----------------------------------------------

    What should I do to execute this sample code sucessfully?

    Thanks in advance!

    Regards,
    Dariusz Baumann

    PS.

    Here is this sample code:

    ------------------------------------------------
    /
    || Example for the Tamino API for Java
    ||
    || It is assumed that a Tamino database called “myDB” has
    || been created and is running.
    || For storing data the default collection ino:etc is used
    || which should only be used for examples/test code.
    || We do not recommend this for real applications.
    ||
    || The following tasks are performed:
    ||
    || - establish a connection to the Tamino database
    || - obtain an XML accessor
    || - insert a new XML document
    || - query the inserted document
    || - close the connection
    /
    package com.softwareag.tamino.db.API.examples.greeting;

    import com.softwareag.tamino.db.API.accessor.;
    import com.softwareag.tamino.db.API.common.
    ;
    import com.softwareag.tamino.db.API.connection.;
    import com.softwareag.tamino.db.API.objectModel.
    ;
    import com.softwareag.tamino.db.API.objectModel.dom.;
    import com.softwareag.tamino.db.API.response.
    ;
    import org.jdom.;
    import org.jdom.input.
    ;
    import java.io.*;


    public class XMLGreeting {

    public static void main(String args) throws Exception {
    // Put the XML content into a StringReader
    StringReader stringReader = new StringReader( XML );
    // Instantiate an empty TXMLObject instance using the DOM object model
    TXMLObject xmlObject = TXMLObject.newInstance( TDOMObjectModel.getInstance() );
    // Establish the DOM representation by reading the content from the
    // character input stream
    xmlObject.readFrom( stringReader );
    // Establish the connection to Tamino
    TConnection connection = TConnectionFactory.getInstance().newConnection( DATABASE_URI );
    // Obtain a TXMLObjectAccessor with a DOM object model
    TXMLObjectAccessor xmlObjectAccessor = connection.newXMLObjectAccessor(
    TAccessLocation.newInstance( “ino:etc” ),
    TDOMObjectModel.getInstance() );
    try {
    // Invoke the insert operation
    xmlObjectAccessor.insert( xmlObject );
    // Show the ino:id of the document just inserted
    System.out.println( “Insert succeeded, ino:id=” + xmlObject.getId() );
    }
    catch (TInsertException insertException) {
    // Inform about the reason for the failure
    System.out.println( “Insert failed!” );
    if ( insertException.hasAccessFailureMessage() )
    System.out.println( “Insert rejected by Tamino. Reason:” +
    insertException.getAccessFailureMessage() );
    else
    System.out.println( “Insert failed due to following reason:” +
    insertException.getDeepestException().getMessage() );
    }
    // Prepare to read the instance
    TQuery query = TQuery.newInstance( xmlObject.getDoctype() + “[@ino:id=” +
    xmlObject.getId() + “]” );
    try {
    // Invoke the query operation
    TResponse response = xmlObjectAccessor.query( query );
    if ( response.hasFirstXMLObject() ) {
    StringWriter stringWriter = new StringWriter();
    response.getFirstXMLObject().writeTo( stringWriter );
    System.out.println( “Retrieved following instance:” + stringWriter );
    }
    else
    System.out.println( “No instance found!” );
    }
    catch (TQueryException queryException) {
    // Inform about the reason for the failure
    System.out.println( “Query failed!” );
    if ( queryException.hasAccessFailureMessage() )
    System.out.println( “Query rejected by Tamino. Reason:” +
    queryException.getAccessFailureMessage() );
    else
    System.out.println( “Insert failed due to following reason:” +
    queryException.getDeepestException().getMessage() );
    }
    // OK, everything is done, close the connection.
    connection.close();
    }

    // URI of the Tamino database, please edit accordingly
    public final static String DATABASE_URI = “http://localhost/tamino/myDB”;

    // XML document to be written to the connected database
    public final static String XML =
    “Hello World”;

    }
    ------------------------------------------------


    #API-Management
    #webMethods
    #webMethods-Tamino-XML-Server-APIs


  • 2.  RE: Source code XMLGreeting.java does NOT work

    Posted Thu August 29, 2002 08:17 PM

    Hi Dariusz,

    the problem is that the Java class is actually called:
       com.softwareag.tamino.db.API.examples.greeting.XMLGreeting
    not:
       XMLGreeting

    So, you have two options:
    1. Call java using the full classname:
       java com.softwareag.tamino.db.API.examples.greeting.XMLGreeting

    2. Remove the package line from the source (so that the class is called XMLGreeting), recompile and execute:
       java XMLGreeting

    If you would like to see the full details of the “deprecated” warning, compile like this:
       javac -deprecation XMLGreeting.java

    Last thing: I would be careful about not having both TaminoClient.jar and TaminoAPI4J.jar in my classpath.
    I don’t know of any problems with this, but I would still avoid it…

    I hope that helps,
    Trevor.


    #webMethods
    #API-Management
    #webMethods-Tamino-XML-Server-APIs