JMS .jar files

Hi All,
We are working on XI interfaces implementation. As part of our project, we have to implement JMS to receive messages from an external server.
What are the .jar files that need to be deployed in XI to enable JMS communication?
Where can we find these .jar files? and Is there any documentation explaining a sample JMS communication scenario in XI?
Thank you,
Regards,
Balaji.M

Hi Balaji -
As far as JMS providers are concerned, WebSphereMQ, Sonic MQ, and SAP JMS are well supported by SAP.  Outside of these, the current official stance is that the JMS provider must be compatible with the JMS 1.02b or 1.1 specification. 
Part of the problem is that there are a large number of 3rd party JMS providers out there from different vendors (with different versions) and it is unreasonable/unmanagable to maintain support for all of them, especially if providers deviate or do not comply to the specifications.  Even so I know of customers who have successfully implemented JMS integration with other major JMS providers like Tibco and BEA.  But I know of another case, for example, where SSL connectivity was required for Tibco integration and it was not supportable (at that time at least).
Depending on the JMS provider being used, you may run into varying degrees of issues during integration and, unfortunately, varying degrees of support SAP can provide.  So if you have the option, stick with the well supported JMS providers I listed initially.  If the JMS provider in your landscape is not one of these, I'd recommend creating a SAP customer message to find out whether your particular JMS provider can be supported before going forward with it in your interface design.
BTW, the guide <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10">How to Install and Configure External Drivers for JDBC & JMS</a> gives you the specifics on how to deploy the JMS drivers.
Regards,
Jin

Similar Messages

  • Where is the JMS jar file for CEP?

    I cannot find in any jar finder the JMS jar file for CEP.
    I mean the jar file which includes com.bea.wlevs.adapters.jms.api.InboundMessageConverter, com.bea.wlevs.adapters.jms.api.OutboundMessageConverter, etc.
    Does anybody know the link?
    Thanks!

    Thanks, but it is not there.
    I only have the following:
    com.bea.core.jsmpool_1.7.0.0.jar
    javax.jms_1.1.1.jar
    org.springframework.spring-jms_2.5.6.jar
    And if I cannot find it there, where could it be?
    Thanks!

  • Jms.jar file  does not exist

    hi dear
    can anybody help me..
    I m using CMD. I have problem in using jms.jar file, i have jms.jar file in my ...\lib\jms.jar. But i m not able to use that jar file. i set the class path from system property and that showing in class path of CMD but my program is not ruuning Error is...
    CSV2XML1.java:13: package javax.jms does not exist
    import javax.jms.Connection;
    ^
    CSV2XML1.java:14: package javax.jms does not exist
    import javax.jms.ConnectionFactory;
    ^
    CSV2XML1.java:15: package javax.jms does not exist
    import javax.jms.Destination;
    ^
    CSV2XML1.java:16: package javax.jms does not exist
    import javax.jms.MessageProducer;
    ^
    CSV2XML1.java:17: package javax.jms does not exist
    import javax.jms.Session;
    ^
    CSV2XML1.java:18: package javax.jms does not exist
    import javax.jms.TextMessage;
    ^
    CSV2XML1.java:255: cannot find symbol
    symbol : class ConnectionFactory
    location: class com.firm58.getCo.CSV2XML1
    ConnectionFactory connectionFactory = (ConnectionFactory
    ) initialContext.lookup("weblogic.jms.XAConnectionFactory");
    ^
    CSV2XML1.java:255: cannot find symbol
    symbol : class ConnectionFactory
    location: class com.firm58.getCo.CSV2XML1
    ConnectionFactory connectionFactory = (ConnectionFactory
    ) initialContext.lookup("weblogic.jms.XAConnectionFactory");
    ^
    CSV2XML1.java:256: cannot find symbol
    symbol : class Connection
    location: class com.firm58.getCo.CSV2XML1
    Connection connection = connectionFactory.createConnecti
    on();
    ^
    CSV2XML1.java:257: cannot find symbol
    symbol : class Session
    location: class com.firm58.getCo.CSV2XML1
    Session session = connection.createSession(false, Sessio
    n.AUTO_ACKNOWLEDGE);
    ^
    CSV2XML1.java:257: cannot find symbol
    symbol : variable Session
    location: class com.firm58.getCo.CSV2XML1
    Session session = connection.createSession(false, Sessio
    n.AUTO_ACKNOWLEDGE);
    ^
    CSV2XML1.java:260: cannot find symbol
    symbol : class Destination
    location: class com.firm58.getCo.CSV2XML1
    Destination queue = (Destination) initialContext.lookup(
    "jms/customerInputQ");
    ^
    CSV2XML1.java:260: cannot find symbol
    symbol : class Destination
    location: class com.firm58.getCo.CSV2XML1
    Destination queue = (Destination) initialContext.lookup(
    "jms/customerInputQ");
    ^
    CSV2XML1.java:261: cannot find symbol
    symbol : class MessageProducer
    location: class com.firm58.getCo.CSV2XML1
    MessageProducer producer = session.createProducer(queue)
    ^
    CSV2XML1.java:262: cannot find symbol
    symbol : class TextMessage
    location: class com.firm58.getCo.CSV2XML1
    TextMessage messageJMS = session.createTextMessage();
    ^
    Thanks for help
    bimlesh

    To me it looks like CLASSPATH is not set in your environment. When type echo %CLASSPATH% you should see something like /opt/sun/mq/share/lib/jms.jar:/opt/sun/mq/share/lib/jaxm-api.jar:/opt/sun/mq/share/lib/imqxm.jar:/opt/sun/mq/share/lib/imqservlet.jar:/opt/sun/mq/share/lib/imq.jar:/opt/sun/mq/share/lib/fscontext.jar
    (sorry but I don't have windows machine) and not %CLASSPATH%. Adding your jar files to PATH variable won't help. When you start your cmd type "set" you should see if CLASSPATH is set when your environment is printed. If it's not set try setting it byt typing set CLASSPATH=your_path_to\jms.jar;your_path_to\imq.jar;. .Then run your application.

  • Multi vendor JMS jar files

    Hi,
    I have both the J2EE 1.3 jar file and weblogic 6.1 jar file in my class path. I have a single process which I want to take messages from J2EE and put them to weblogic.
    This seems to work fine if the weblogic file is before J2EE but fails when the J2EE is picked up first. The J2EE implementation fails to write to the weblogic queue.
    Going forward I would hope that my process could communicate with multiple JMS implementations from various vendors. My concern is whether the classpath order will prevent this.
    Are there specifications covering this kind of multi vendor scenario ?
    Cheers
    Mairt

    I may have found the answer to my question in the
    following quote from the JMS FAQ on this site
    "The JMS specification does not require that one JMS
    provider be able to send messages directly to another
    provider."
    I assume this means if I need to communicate with
    multiple vendors JMS implementations, each of which
    requires that I include their jar file in my
    classpath, then I need a way of specifying which
    implementation to use at runtime.
    Hmmm....any ideas ?
    Cheers,
    MairtAssuming your existing providers have implemented JMS correctly there is no reason why you cannot use JNDI to resolve your name space conflicts. The Topic/Queue connection factory implementations will be what is stored in the directory and use the vendor specific factories and classes for client reconstruction.
    Regards,
    Paul

  • Required JMS jar files

    Hi All,
    We are implementing JMS in one of our projects. What are the .jar files that need to be deployed in XI and where can i find these .jar files?
    Thank you,
    Regards,
    Balaji.M

    There's no reason that I can think of to use a custom startup class to implement MQ integration. Search the Oracle WebLogic General and/or JMS forums for the keyword "MQ" and you will quickly find links to the related FAQ in the JMS edocs and a step-by-step blog.
    Tom

  • Oracle 9i Streams AQ JMS jar files download

    Hi,
    i assume i need some jarfiles to access Oracle Streams AQ JMS for Oracle 9i.
    I just want to write some JAVA Applications using "Oracle Streams AQ JMS for Oracle 9i"
    What should i download? Where could it be found?

    AQ is part of the database. All the software related to AQ is included in the database. The doc for AQ is http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96587/toc.htm
    Chapter 3 of the doc includes:
        Using PL/SQL to Access AQ
        Using OCI to Access AQ
            Examples
        Using Visual Basic (OO4O) to Access AQ
            For More Information
        Using AQ Java (oracle.AQ) Classes to Access AQ
            Accessing Java AQ Classes
            Advanced Queuing Examples
            Managing the Java AQ API
        Using Oracle Java Message Service to Access AQ
            Standard JMS Features
            Oracle JMS Extensions
            Accessing Standard and Oracle JMS
            For More Information

  • Jar files for jms websphere

    Hello Experts,
    We are trying to establish connection between PI and webshpere ,for that we are using JMS adapter.
    And in the channel we are getting the error as:
    Error connecting due to missing class: com.ibm.websphere.naming.WsnInitialContextFactory. Ensure that all resources required are present in the JMS provider library: com.sap.aii.adapter.lib.sda
    Can anyone please provide me the required jar files or the path from where i can download the .jar files required for this purpose.
    Regards
    Naveen

    Hi,
    Thanks for your reply ,i have installed 2 jar files:
    naming .jar and
    javax.j2ee.connector.jar.
    But still geting the error as :
    Channel error occurred. Detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Error creating initial context with environment: {java.naming.provider.url=iiop://xyz, java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory, java.naming.security.principal=xyz, java.naming.security.credentials=xyz}for profile: ConnectionProfile of channel: JMSSender_MESon node: xyz having object id: xyz: javax.naming.NoInitialContextException: Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createInitialContext(JndiConnectorImpl.java:65)<br> ...
    Urgent help required..
    Thanks

  • JMS Grid, SeeBeyond IQ, Sun JMQ jar files required for JMS Clients

    I'm trying to determine the Jar files required to connect to JMS Grid, IQ, and JMQ. I am testing connectivity to each product independently and I think I may have copied over more files than necessary.

    I'm trying to determine the Jar files required to connect to JMS Grid, IQ, and JMQ. I am testing connectivity to each product independently and I think I may have copied over more files than necessary.

  • Looking for JAR files for AQ JMS

    Hello all,
    I installed Oracle 9i 9.2.0.1 and trying to run a
    JMS Sample that uses JMS oracle.jms.AQjmsQueueConnectionFactory
    and oracle.jms.AQjmsSession. My questions which jar
    files should be included in the CLASSPATH.
    thanks

    The jar file you need is called aqapi.jar.

  • SAP JMS Provider client jar files

    Hi,
    We are attempting to use the JMS provider service on XI 3.0 SR1 as the messaging system.  What are the jar files that an external J2EE application need to access the SAP JMS provider?  Has anyone used the SAP JMS provider? I greatly appreciate if you can share your experience.
    thanks.
    James Chang

    Hello James,
    The performance for such big number of messages depends mainly on the message size. If you are sending just a TextMessage with short text, then the SAP JMS provider is able to handle 100 000 messages per hour. That value represents an average number of 30 messages per second that is covered.
    However, please have in mind two issues :
    The messages will be transferred through a TCP/IP connection, so make sure that your network bandwidth to the SAP J2EE server is able to handle such load without any delays. If the messages are persistent (default mode) they will be stored in the server database. That will be the main bottleneck for the message sending especially if the size of your message is big (>100K).
    I think it will be best if you create a small prototype on your environment and verify the number of messages that can be sent.
    Best Regards
    Peter Peshev

  • JMS server jar files

    Hi all,
    I am trying to place .jar files in classpath in order to access Tibco JMS server. Does anyone has
    idea how to place these files?
    Thanks
    Deno

    Hi,
    take a look at this article,
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
    Regards,
    Bhavesh

  • How to dynamically load jar files - limiting scope to that thread

    Dynamically loading jar files has been discussed a lot. I have read a quite a few posts, articles, and demo code for doing just that. However, I have yet to find a solution to my problem. Most people modify their system class loader and are happy. I have done that and was happy for a time. Occasionally, you will see reference to an application server or tomcat or some other large project that have successfully been able to load and unload jar files, allow for dynamic deployment of code, etc. However, I have not been able to achieve similar success; And my problem is much less complicated.
    I have an application that executes a thread to send a given file/message to a standard JMS Server Queue. Depending on the parameters selected by the user, this thread may need to communicate with one of a number of JMS Servers, ie. JBoss, WebLogic, EAServer, Glassfish, etc. All of which can be done with the same code, but each needs to load their own flavor of JMS Client Jar files. In this instance, spawning a separate JVM for each communication would work from a classloader perspective. However, I need to keep it in the family and run under the same JVM, albeit each JMS Server Connection will be created and maintained in separate Threads.
    I am close, I am doing the following...
    1. Creating a new URLClassLoader in the run() method of each thread.
    2. Set this threads contextClassLoader to the new URLClassLoader.
    3. Load the javax.jms.JMSException class with the URLClassLoader.loadClass() method.
    4. Create an initialContext object within this thread.
    Note: I read that the initialContext and subsequent conext lookup calls would use the Thread�s
    contextClassLoader for finding/loading classes.
    5. Perform context.lookup calls for a connectionFactory and Queue name.
    6. Create JMS Connection, etc. Send Message.
    Most of this seems to work. However, I am still getting a NoClassDefFoundError exception for the javax.jms.JMSException class ( Note step #3 - tried to cure unsuccessfully).
    If I include one of the JMS Client jar files ( ie wljmsclient.jar for weblogic ) in the classpath then it works for all the different JMS Servers, but I do not have confidence that each of the providers implemented these classes that now resolve the same way. It may work for now, but, I believe I am just lucky.
    Can anyone shine some light on this for me and all the others who have wanted to dynamically load classes/jar files on a per Thread basis?

    Thanks to everyone - I got it working!
    First, BenSchulz' s dumpClassLoader() method helped me to visualize the classLoader hierarchy. I am still not completely sure I understand why my initial class was always found by the systemClassLoader, but knowning that - was the step I needed to find the solution.
    Second, kdgregory suggested that I use a "glue class". I thought that I already was using a "glue class" because I did not have any JMSClient specific classes exposed to the rest of the application. They were all handled by my QueueAdmin class. However...
    The real problem turned out to be that my two isolating classes (the parent "MessageSender", and the child "QueueAdmin") were contained within the same jar file that was included in the classpath. This meant that no matter what I did the classes were loaded by the systemClassLoader. Isolating them in classes was just the first step. I had to remove them from my jar file and create another jar file just for those JMSClient specific classes. Then this jar file was only included int custom classLoader that I created when I wanted to instantiate a JMSClient session.
    I had to create an interface in the primary jar file that could be loaded by the systemClassLoader to provide the stubs for the individual methods that I needed to call in the MessageSender/QueueAdmin Classes. These JMSClient specific classes had to implement the interface so as to provide a relationship between the systemClassLoader classes and the custom classLoader classes.
    Finally, when I loaded and instantiated the JMSClient specific classes with the custom classLoader I had to cast them to the interface class in order to make the method calls necessary to send the messages to the individual JMS Servers.
    psuedu code/concept ....
    Primary Jar File   -  Included in ClassPath                                                      
    Class<?> cls = ClassLoader.loadClass( "JMSClient.MessageSender" )
    JMSClientInterface jmsClient = (JMSClientInterface) cls.newInstance()                            
    jmsClient.sendMessage()                                                                      
    JMSClient Jar File  -  Loaded by Custom ClassLoader Only
    MessageSender impliments Primary.JMSClientInterface{
        sendMessage() {
            Class<?> cls=ClassLoader.loadClass( "JMSClient.QueueAdmin" )
            QueueAdmin queueAdmin=(QueueAdmin) cls.newInstance()
            queueAdmin.JMSClientSpecificMethod()
        }

  • Error in deploying .jar file from JDeveloper 10.1.3.5

    Hello,
    I want to deploy .jar file in a machine, instead of having to install JDeveloper to run the application (it contains: Web Services and Data Base).
    I have followed the following steps in JDeveloper to create the .jar file:
    1) Right click over the project: New... --> General (All Technologies option selected) --> Deployment Profiles --> JAR File
    2) I have selected "Include Manifest File" option specifying the application's main class
    3) In JAR Deployment Profile Properties window: File Groups --> Project Output --> Contributors are selected: "Project Output Directory" and "Project Dependencies"
    4) With the previous steps, JDeveloper generates a .deploy file. It is created in Resources folder. From this folder, I have selected the .deploy file and right click and I have selected "Deploy to JAR file"
    The .jar is created succesfully. In this point, I try to execute with the command:
    java -jar NAME_OF_THE_DIRECTORY_WHERE_THE FILEIS_DEPLOYED\NameFile.jar
    and I have the following error:
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/rpc/ServiceFactory
    at project.proxy.AccountClient.<init><AccountClient.java>
    at project.proxy.AccountClient.main<init><AccountClient.java>
    The Manifest File content is:
    Manifest-Version: 1.0
    Created-By: Oracle JDeveloper 10.1.3.5.0
    Main-Class: project.proxy.AccountClient
    I have tested with differents variables to create the .jar file, but always the error is the same. And I haven't found information to solve it. For this reason, I appreciate any help.
    Thank you and regards.
    Edited by: user1634407 on 31-mar-2010 8:27
    Edited by: user1634407 on 31-mar-2010 8:47

    If you are just building a client that access a Web service you need a JAR and not a WAR.
    Ok!
    One thing to try is look at the command line that JDeveloper uses to run your client (it's in the log window) - specifically look at the classpath used.
    Then try and run the same thing from a command line and see if it works.
    Nowadays, the application is running with a .BAT file, it contains the statement released from the JDeveloper console, and it is working perfectlly.
    I try to do the same from a command line, and it works too.
    Assuming it is - you can either use that, or you'll need to make sure that your JAR includes all the mentioned jars that were in the class path - this is done through the library type file group.
    To create the .JAR file I have choosen the following options (JAR Deployment Profile Properties):
    1) Include Manifest File --> I have selected the class that contains the main class (from the Browse option)
    2) I left the default File Groups (Project Output) --> it has: Project Output Directory + Project Dependencies
    3) As you said me, I have created a new File Group (type: Libraries) --> and here, I have selected all the possible Contributors. These match those specified in the project (Oracle XML Parser v2, J2EE, JAX-RPC Client, Commons Logging 1.0.3, Ojdbc14.jar).
    4) Deployment to JAR File successfully.
    The resulting MANIFEST.MF is:
    Manifest-Version: 1.0
    Created-By: Oracle JDeveloper 10.1.3.5.0
    Main-Class: project.proxy.Execution
    It hasn't definied "Class-Path", althought to especified a new File Group with the libraries... Is it an error?
    If I extract the .JAR file, I see all libraries, and I have two folders: one with .class files of my project and other one is META-INF with MANIFEST.MF file.
    5) From command line I executed:
    C:\jdevstudio10135\jdk\bin > java -jar C:\jdevstudio10135\jdev\mywork\project\project\deploy\NameFile.jar
    And the result is an error:
    Exception in thread "main": java.lang.NoClassDefFoundError: javax/xml/rpc/ServiceFactory
    I think the error is because it can not find the library ServiceFactory, but it is especified inside JAX-RPC Client library. What is wrong?
    *6)* I have tried too to insert in "JAR Deployment Profile Properties" (in JAR options) an additional Manifest File to merge into MANIFEST.MF, to include "Class-Path" with all libraries's project (the same JAR from the statement released from the JDeveloper console), but I think that it is a limit, because if I insert all libraries the "Class-Path" doesn't inserted in MANIFEST.MF. The maxim is:
    Class-Path: C:\jdevstudio10135\jdev\mywork\project\project\classes C:\jdevstudio10135\lib\xmlparserv2.jar C:\jdevstudio10135\lib\xml.jar C:\jdevstudio10135\j2ee\home\lib\activation.jar C:\jdevstudio10135\j2ee\home\lib\ejb.jar C:\jdevstudio10135\j2ee\home\lib\jms.jar C:\jdevstudio10135\j2ee\home\lib\jta.jar C:\jdevstudio10135\j2ee\home\lib\mail.jar C:\jdevstudio10135\j2ee\home\lib\servlet.jar C:\jdevstudio10135\webservices\lib\jaxrpc-api.jar
    The following libraries afther the previous one aren't allowed to include because I think that is exceeding the maximum size.
    I have tested to create various MANIFEST.MF with different PATHs libraries, but it isn't work to include in the MANIFEST.MF file all libraries...
    (C:\jdevstudio10135\webservices\lib\wsclient.jar
    C:\jdevstudio10135\webservices\lib\wsserver.jar
    C:\jdevstudio10135\webservices\lib\wssecurity.jar
    C:\jdevstudio10135\webservices\lib\wsdl.jar
    C:\jdevstudio10135\webservices\lib\orasaaj.jar
    C:\jdevstudio10135\webservices\lib\saaj-api.jar
    C:\jdevstudio10135\webservices\lib\orawsdl.jar
    C:\jdevstudio10135\webservices\lib\orawsrm.jar
    C:\jdevstudio10135\webservices\lib\jaxr_api.jar
    C:\jdevstudio10135\webservices\lib\orajaxr.jar
    C:\jdevstudio10135\webservices\lib\relaxngDatatype.jar
    C:\jdevstudio10135\webservices\lib\jaxb-impl.jar
    C:\jdevstudio10135\webservices\lib\jaxb-libs.jar
    C:\jdevstudio10135\webservices\lib\xsdlib.jar
    C:\jdevstudio10135\webservices\lib\mdds.jar
    C:\jdevstudio10135\jlib\jaxen.jar
    C:\jdevstudio10135\jlib\oraclepki.jar
    C:\jdevstudio10135\jlib\ojpse.jar
    C:\jdevstudio10135\jlib\osdt_core.jar
    C:\jdevstudio10135\jlib\osdt_cert.jar
    C:\jdevstudio10135\jlib\osdt_xmlsec.jar
    C:\jdevstudio10135\jlib\osdt_wss.jar
    C:\jdevstudio10135\jlib\osdt_saml.jar
    C:\jdevstudio10135\jlib\repository.jar
    C:\jdevstudio10135\jlib\ojmisc.jar
    C:\jdevstudio10135\j2ee\home\lib\http_client.jar
    C:\jdevstudio10135\j2ee\home\jazncore.jar
    C:\jdevstudio10135\j2ee\home\oc4jclient.jar
    C:\jdevstudio10135\rdbms\jlib\xdb.jar
    C:\jdevstudio10135\diagnostics\lib\ojdl2.jar
    C:\jdevstudio10135\jakarta-taglibs\commons-logging-1.0.3\commons-logging-api.jar
    C:\jdevstudio10135\jakarta-taglibs\commons-logging-1.0.3\commons-logging.jar
    C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.jar
    C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14_g.jar
    C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14dms.jar
    C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14dms_g.jar)
    With this .MF file (or including only "C:\jdevstudio10135\jdev\mywork\project\project\classes") I have solved the other problem (not found the libraries), but it still not working, the error is a little different:
    Exception in thread "main": java.lang.NoClassDefFoundError: project/proxy/Execution
    The path where the main class is: C:\jdevstudio10135\jdev\mywork\project\project\classes\project\proxy\Execution.class
    I have tried to insert directlly the following paths in "Main Class" option of "Include Manifest File":
    C:\jdevstudio10135\jdev\mywork\project\project\classes\project\proxy\Execution
    C:\\jdevstudio10135\\jdev\\mywork\\project\\project\\classes\\project\\proxy\\Execution
    And with these values, the error is the same: Exception in thread "main": java.lang.NoClassDefFoundError
    I am not sure if the error is a bug of JDeveloper 10.1.3.5 or it is something that I don't correctly. Any idea?
    Thank you again and regards.
    Edited by: user12085357 on 08-abr-2010 1:31
    Edited by: user12085357 on 08-abr-2010 1:38
    Edited by: user12085357 on 08-abr-2010 6:58

  • How to include jar files in ant script for compiling

    i am trying to manually include j2ee.jar for compiling, here is the entire build.xml:
    <?xml version="1.0"?>
    <!--PRIMARY build file for all of dev modual -->
    <project name="com" default="compile.all" basedir="../">
    <path id="project.class.path">
    <pathelement location="lib/"/>
    <pathelement path="${java.class.path}/"/>
    <pathelement path="${additional.path}"/>
    <pathelement path="${CLASSPATH}" />
    <pathelement path="${classpath}" />
    </path>
    <property name="SRCDIR" value="${basedir}/java" />
    <property name="DSTDIR" value="${basedir}/classes" />
    <property name="LIBDIR" value="${basedir}/libs" />
    <property name="JARDIR" value="${basedir}/jars" />
    <property name="DOCDIR" value="${basedir}/docs" />
    <property name="ORACLE.JAR" value="${LIBDIR}/orcl/8.1.7/classes12.zip" />
    <property name="JUNIT.JAR" value="${LIBDIR}/junit/3.7/junit.jar" />
    <property name="CLASSPATH" value="z:/tools/java;${SRCDIR};${DSTDIR};${JUNIT.JAR};${ORACLE.JAR}" />
    <property name="POLICYFILE" value="${SRCDIR}/com/leader/cti/main/ctimain.policy" />
    <property name="DEBUG_FLAG" value="on" />
    <property name="OPTIMIZE_FLAG" value="off" />
    <property name="DEPRECATION_FLAG" value="off" />
    <property name="RMI_VERSION" value="1.2" />
    <!-- builds everything -->
    <target name="compile.all">
    <antcall target="compile.cti"/>
    </target>
    <target name="compile.vbsf" description="Compiles files for vbsf.jar.">
    <mkdir dir="${DSTDIR}"/>
    <copy file="${SRCDIR}/VBSFELK5UD3SWQ2E.class" todir="${DSTDIR}"/>
    <javac srcdir="${SRCDIR}" destdir="${DSTDIR}" classpath="${CLASSPATH}" debug="${DEBUG_FLAG}" deprecation="${DEPRECATION_FLAG}" optimize="${OPTIMIZE_FLAG}" >
    <include name="com/objectmatter/**/*.java" />
    </javac>
    </target>
    <target name="compile.persist" description="Compiles files for persist.jar." depends="compile.vbsf" >
    <javac srcdir="${SRCDIR}" destdir="${DSTDIR}" debug="${DEBUG_FLAG}" deprecation="${DEPRECATION_FLAG}" optimize="${OPTIMIZE_FLAG}" >
    <classpath refid="project.class.path"/>
    <include name="com/leader/persist/**/*.java" />
    <include name="testcom/leader/persist/**/*.java" />
    </javac>
    </target>
    <target name="compile.cti" description="Compiles files for both cti jars." depends="compile.persist,compile.cti.only" />
    <target name="compile.cti.only" description="Compiles files for both cti jars." >
    <javac srcdir="${SRCDIR}" destdir="${DSTDIR}" debug="${DEBUG_FLAG}" deprecation="${DEPRECATION_FLAG}" optimize="${OPTIMIZE_FLAG}" >
    <classpath refid="project.class.path"/>
    <include name="com/leader/cti/**/*.java" />
    <include name="testcom/leader/cti/**/*.java" />
    </javac>
    <rmic classpath="${CLASSPATH}" base="${DSTDIR}" stubversion="${RMI_VERSION}" >
    <include name="com/leader/cti/main/RMICTIService.class" />
    <include name="com/leader/cti/main/RMIConferenceCall.class" />
    <include name="com/leader/cti/main/RMIConferenceCallReservation.class" />
    <include name="com/leader/cti/main/FakeRmiCtiService.class" />
    <include name="com/leader/cti/main/FakeRmiConferenceCall.class" />
    <!--include name="com/leader/cti/main/DerivedQueueReceiver.class"/-->
    </rmic>
    </target>
    <!-- build all dev jars -->
    <target name="jar.all"
    description="Create all jar files"
    depends="jar.vbsf, jar.persist, jar.jeti, jar.service"/>
    <!-- build vbsf.jar -->
    <target name="jar.vbsf"
    description="Create client distribution jar for vbsf code"
    depends="compile.vbsf" >
    <mkdir dir="${JARDIR}" />
    <jar jarfile="${JARDIR}/vbsf.jar"
    basedir="${DSTDIR}" >
    <include name="VBSFELK5UD3SWQ2E.class"/>
    <include name="com/objectmatter/**/*.class" />
    </jar>
    </target>
    <!-- build persist.jar -->
    <target name="jar.persist"
    description="Create client distribution jar"
    depends="compile.vbsf,compile.persist" >
    <mkdir dir="${JARDIR}" />
    <jar jarfile="${JARDIR}/persist.jar"
    basedir="${DSTDIR}" >
    <include name="com/leader/persist/**/*.class" />
    </jar>
    </target>
    <!-- build jeti.jar -->
    <target name="jar.jeti"
    description="Create client distribution jar"
    depends="compile.vbsf,compile.persist,compile.cti" >
    <mkdir dir="${JARDIR}" />
    <jar jarfile="${JARDIR}/jeti.jar"
    basedir="${DSTDIR}" >
    <include name="com/leader/cti/rmiint/*" />
    <include name="com/leader/cti/main/*Stub*" />
    <include name="com/leader/cti/util/**" />
    <include name="com/leader/cti/vru/*" />
    <include name="com/leader/cti/interfaces/*" />
    <include name="com/leader/cti/history/*" />
    <include name="com/leader/cti/autodial/*" />
    </jar>
    </target>
    <!-- build jeti_service.jar -->
    <target name="jar.service"
    description="Create the jar file for the service"
    depends="compile.vbsf,compile.persist,compile.cti" >
    <mkdir dir="${JARDIR}" />
    <copy file="${basedir}/vbsf/cti.schema" tofile="${DSTDIR}/cti.schema" />
    <copy file="${basedir}/vbsf/cti.schema" tofile="/tools/java/com/leader/osapplication/persist/cti.schema" />
    <jar jarfile="${JARDIR}/jeti_service.jar"
    basedir="${DSTDIR}" >
    <include name="com/leader/cti/**" />
    <include name="cti.schema" />
    </jar>
    </target>
    <!-- build jeti.jar, jeti_service.jar -->
    <target name="jar.cti"
    description ="Create client/server jars for cti"
    depends="jar.jeti,jar.service" />
    <!-- clean everything. -->
    <target name="clean">
    <delete dir="${DSTDIR}" />
    <delete dir="${JARDIR}" />
    <delete dir="${DOCDIR}" />
    </target>
    <target name="clean.cti" description="clean cti class files (not jars)">
    <delete dir="${DSTDIR}/com/leader/cti" />
    <delete dir="${DSTDIR}/testcom/leader/cti" />
    </target>
    <!-- Run the gui CTI tests -->
    <target name="test_cti_gui">
    <java classname="junit.swingui.TestRunner" classpath="${CLASSPATH}" fork="yes">
    <arg value="testcom.leader.cti.CTIPackageTest"/>
    <sysproperty key="leader.unique_number_generator.file" value="unique_number_generator_file_test" />
    <sysproperty key="vbsf.repository" value="/tools/java/dev/vbsf" />
    <sysproperty key="vbsf.enableGlobalCaching" value="false" />
    </java>
    </target>
    <target name="test.cti.gui"
    depends="test_cti_gui" />
    <!-- Run the text version of CTI tests -->
    <target name="test">
    <java classname="junit.textui.TestRunner" classpath="${CLASSPATH}" fork="yes">
    <arg value="testcom.leader.cti.CTIPackageTest"/>
    <sysproperty key="leader.unique_number_generator.file" value="unique_number_generator_file_test" />
    </java>
    </target>
    <!-- Run CTI service -->
    <target name="run.service"
    description="run the service normally"
    depends="compile.all" >
    <java classname="com.leader.cti.main.CTIMain"
    classpath="${CLASSPATH}"
    fork="yes" >
    <sysproperty key="java.security.policy"
    file="${POLICYFILE}" />
    <sysproperty key="config.dir"
    value="${SRCDIR}/com/leader/cti/main/" />
    </java>
    </target>
    <!-- Run fake CTI service -->
    <target name="run.service.fake"
    description="run the fake service"
    depends="compile.all" >
    <java classname="com.leader.cti.main.FakeCtiMain"
    classpath="${CLASSPATH}"
    fork="yes" >
    <sysproperty key="java.security.policy"
    file="${POLICYFILE}" />
    <sysproperty key="config.dir"
    value="${SRCDIR}/com/leader/cti/main/" />
    </java>
    </target>
    <!-- Run CTI service emulator -->
    <target name="run.service.emulator"
    description="run the service normally"
    depends="compile.all" >
    <java classname="com.leader.cti.main.CTIMain"
    classpath="${CLASSPATH}"
    fork="yes" >
    <sysproperty key="java.security.policy"
    file="${POLICYFILE}" />
    <sysproperty key="config.dir"
    value="${SRCDIR}/com/leader/cti/main/" />
    <sysproperty key="vru.propertyfile"
    value="emulator.properties" />
    </java>
    </target>
    <!-- Runs the CTI service and emulator -->
    <target name="run.emulator"
    description="run the service and the emulator"
    depends="compile.all" >
    <java classname="testcom.leader.cti.vru.emulator.VRUEmulator"
    classpath="${CLASSPATH}"
    fork="yes" />
    </target>
    <!-- Runs the gui CONCALL testss -->
    <target name="run.gui"
    description="run the concall test gui"
    depends="compile.all" >
    <java classname="testcom.leader.cti.main.SwingClient"
    classpath="${CLASSPATH}"
    fork="yes" >
    <sysproperty key="java.security.policy"
    file="${POLICYFILE}" />
    </java>
    </target>
    <!-- Fires the maptool up. Defaults to CTI`s Schema file. -->
    <target name="maptool" >
    <java classname="com.objectmatter.bsf.mapping.toolgui.MapTool"
    fork="yes"
    classpath="${CLASSPATH}" >
    <sysproperty key="vbsf.repository" value="${basedir}/vbsf" />
    </java>
    </target>
    <target name="javadoc_cti">
    <mkdir dir="${basedir}/docs"/>
    <javadoc packagenames="com.leader.*" classpath="${CLASSPATH}" sourcepath="${SRCDIR}" destdir="${DOCDIR}\cti" author="true" version="true" use="true" windowtitle="Leader CTI API" doctitle="Leader Technologies, Inc" bottom="Copyright &#169; 2005 Leader Technologies Incorporated.<BR>All Rights Reserved." maxmemory="128m">
    <group title="Leader CTI Packages" packages="com.leader*"/>
    </javadoc>
    </target>
    <target name="javadoc_vbsf">
    <mkdir dir="${basedir}/docs"/>
    <javadoc packagenames="com.objectmatter.* " classpath="${CLASSPATH}" sourcepath="${SRCDIR}" destdir="${DOCDIR}" author="true" version="true" use="true" windowtitle="VBSF by ObjectMatter API" doctitle="Leader Technologie, Inc" bottom="Copyright &#169; 2005 Leader Technologies Incorporated.<BR>All Rights Reserved." maxmemory="128m">
    <group title="Objectivity Packages" packages="com.objectmatter.*"/>
    </javadoc>
    </target>
    </project>
    i am getting this:
    compile.all:
    compile.vbsf:
    compile.persist:
    compile.cti.only:
    Compiling 1 source file to C:\Projects\Leader\dev\classes
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:14: package javax.jms does not exist
    import javax.jms.*;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:17: package javax.jms does not exist
    import javax.jms.Queue;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:18: package javax.jms does not exist
    import javax.jms.JMSException;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:19: package javax.jms does not exist
    import javax.jms.Message;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:28: cannot find symbol
    symbol: class MessageListener
    public abstract class BasicMQReceiverAsyncR implements Runnable, MessageListener
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:44: cannot find symbol
    symbol : class QueueConnectionFactory
    location: class BasicMQReceiverAsyncR
    QueueConnectionFactory queueConnectionFactory = null;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:45: cannot find symbol
    symbol : class QueueConnection
    location: class BasicMQReceiverAsyncR
    QueueConnection queueConnection = null;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:46: cannot find symbol
    symbol : class QueueSession
    location: class BasicMQReceiverAsyncR
    QueueSession queueSession = null;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:48: cannot find symbol
    symbol : class QueueReceiver
    location: class BasicMQReceiverAsyncR
    QueueReceiver queueReceiver = null;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:49: cannot find symbol
    symbol : class TextMessage
    location: class BasicMQReceiverAsyncR
    TextMessage message = null;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:406: cannot find symbol
    symbol : class QueueConnectionFactory
    location: class BasicMQReceiverAsyncR
    queueConnectionFactory = (QueueConnectionFactory)
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:408: package javax.jms does not exist
    queue = (javax.jms.Queue) jndiContext.lookup(QUEUE_NAME); //queue1 = (javax.jms.Queue)jndiContext.lookup("MyQueue1");
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:433: cannot find symbol
    symbol : variable Session
    location: class BasicMQReceiverAsyncR
    Session.AUTO_ACKNOWLEDGE);
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:447: cannot find symbol
    symbol : class JMSException
    location: class BasicMQReceiverAsyncR
    catch (JMSException e)
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:461: cannot find symbol
    symbol : class JMSException
    location: class BasicMQReceiverAsyncR
    catch (JMSException x)
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:482: cannot find symbol
    symbol : class BytesMessage
    location: class BasicMQReceiverAsyncR
    if (m instanceof BytesMessage)
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:488: cannot find symbol
    symbol : class BytesMessage
    location: class BasicMQReceiverAsyncR
    BytesMessage bytesMsg = (BytesMessage)m;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:488: cannot find symbol
    symbol : class BytesMessage
    location: class BasicMQReceiverAsyncR
    BytesMessage bytesMsg = (BytesMessage)m;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:501: cannot find symbol
    symbol : class QueueSession
    location: class BasicMQReceiverAsyncR
    QueueSession queueSession2 = null;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:502: cannot find symbol
    symbol : class QueueSender
    location: class BasicMQReceiverAsyncR
    QueueSender queueSender2 = null;
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:510: cannot find symbol
    symbol : variable Session
    location: class BasicMQReceiverAsyncR
    Session.AUTO_ACKNOWLEDGE);
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:514: cannot find symbol
    symbol : class BytesMessage
    location: class BasicMQReceiverAsyncR
    BytesMessage bytesMessage = queueSession.createBytesMessage();
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:523: cannot find symbol
    symbol : variable DeliveryMode
    location: class BasicMQReceiverAsyncR
    DeliveryMode.PERSISTENT,
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:524: cannot find symbol
    symbol : variable DEFAULT_PRIORITY
    location: class com.leader.cti.vru.Message
    Message.DEFAULT_PRIORITY,
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:525: cannot find symbol
    symbol : variable DEFAULT_TIME_TO_LIVE
    location: class com.leader.cti.vru.Message
    Message.DEFAULT_TIME_TO_LIVE);
    C:\Projects\Leader\dev\java\com\leader\cti\msgqueue\BasicMQReceiverAsyncR.java:529: cannot find symbol
    symbol : class JMSException
    location: class BasicMQReceiverAsyncR
    catch (JMSException x)
    26 errors
    C:\Projects\Leader\dev\java\build.xml:34: The following error occurred while executing this line:
    C:\Projects\Leader\dev\java\build.xml:56: Compile failed; see the compiler error output for details.
    BUILD FAILED (total time: 8 seconds)
    my class path is:
    .;C:\Projects\Leader\prototype\jms\build\classes;C:\Projects\Leader\dev\libs\persist.jar;C:\Projects\Leader\dev\classes;%OPENJMS_HOME%\lib;%OPENJMS_HOME%\lib\antlr-2.7.2.jar;%OPENJMS_HOME%\lib\castor-0.9.5.jar;%OPENJMS_HOME%\lib\commons-codec-1.3.jar;%OPENJMS_HOME%\lib\commons-collections-2.1.jar;%OPENJMS_HOME%\lib\commons-dbcp-1.2.1.jar;%OPENJMS_HOME%\lib\commons-logging-1.0.4.jar;%OPENJMS_HOME%\lib\commons-pool-1.2.jar;%OPENJMS_HOME%\lib\concurrent-1.3.4.jar;%OPENJMS_HOME%\lib\derby-10.1.1.0.jar;%OPENJMS_HOME%\lib\jdbc-2.0.jar;%OPENJMS_HOME%\lib\jms-1.1.jar;%OPENJMS_HOME%\lib\jndi-1.2.1.jar;%OPENJMS_HOME%\lib\jta-1.0.1.jar;%OPENJMS_HOME%\lib\log4j-1.2.11.jar;%OPENJMS_HOME%\lib\openjms-0.7.7-beta-1.jar;%OPENJMS_HOME%\lib\openjms-common-0.7.7-beta-1.jar;%OPENJMS_HOME%\lib\openjms-net-0.7.7-beta-1.jar;%OPENJMS_HOME%\lib\openjms-tools-0.7.7-beta-1.jar;%OPENJMS_HOME%\lib\oro-2.0.8.jar;%OPENJMS_HOME%\lib\spice-jndikit-1.2.jar;%OPENJMS_HOME%\lib\xerces-2.4.0.jar;%OPENJMS_HOME%\lib\xml-apis-1.0.b2.jar;%J2EE_HOME%\lib\j2ee.jar;%J2EE_HOME%\lib
    as you can see j2ee.jar is in %J2EE_HOME%\lib, but still doesn't work. can someone help me?

    <property name="messaging.client.jar.path" value="Location in your local drive" />
    <property name="messaging.client.jar.name" value="nameOfYourFile.jar" />

  • How to deploy jar file in WLS using ant script

    Hi,
    Im trying to deploy a jar file in weblogic 10.3 using ant script and am running into the below error.
    +[wldeploy] weblogic.management.DeploymentException: [J2EE:160177]The application at "/u01//RSJBObjects.jar" was not recognized as a valid application type. If this is an EAR file, please ensure the META-INF/application.xml exists. EJB-JARs should have a META-INF/ejb-jar.xml or corresponding annotations exist. If this is an exploded WAR, the name of directory must be end with ".war". RARs require a META-INF/ra.xml. A JMS deployment should be an XML file whose name ends with "-jms.xml". A JDBC deployment should be an XML file whose name ends with "-jdbc.xml". For other application types, please consult the WebLogic Server documentation.+
    When i try to deploy the same manually from the console, i get a warning stating that WLS thought this as a library and hence proceeding to deploy as a library. After this warning the deployment continues and completes.
    Problem is when i try to deploy using ant, it breaks at this point.
    Is there any means that we can deploy a jar to WLS using ant script. This has to be deployed as a library as other apps would be using this jar.
    Im unable to create a ear file for this single jar file.
    If there is any suggestion on can this be done, please share.
    Thanks,
    Vijay.

    Hi Sunil,
    Thanks for the reply, it worked.
    Another doubt on the same lines. Now that the jar has been deployed as a library in WLS, when i try to deploy a WAR which refers to this deployed jar library, im unable to. I run into and error stating that the library is inaccessible.
    I have to bounce the server and before doing that, i have to manually copy the library.jar from <WLS_domain>/servers/AdminServer/upload/ directory to <WLS_domain>/lib/ directory, once copied i then try to deploy the WAR, then the deployment goes fine.
    Is there any means that this deployed library jar be made available soon after deployment and also to avoid copying the file.
    Thanks,
    Vijay.

Maybe you are looking for