on 2007 Jul 18 8:33 AM
Hi,
I problem with created communication channel (Sender) JMS, the JMS is created in system weblogic. I have followed the guiles:
- SAP Note: 802754
- How To Install External Drivers
- Configuration Guide - SAP XI 3.0 (External Drivers for the JDBC and JMS Adapters)
The parameters of Communication Channel are:
Adapter Type: JMS
Transport Protocol: Access JMS Provider with JNDI
Message Protocol: JMS 1.x
Adapter Engine: Integration Server
JNDI lookup Name of QueueConnectionFactory: jms/connectionFactory
JNDI lookup Name of JMS Queue: firabcn.messaging.MailQueue
Name of JNDI Initial Context Factory: weblogic.jndi.WLInitialContextFactory
JNDI Server Address: <server>:<port>
In the part of Integration Monitoring > Communication Channel Monitor, it leaves the error:
Error during channel initialization; exception trace: javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory. Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:152)
at com.sap.engine.system.naming.provider.ResolverManager.findInitialContextFactory(ResolverManager.java:472)
...
Thanks
Toni Guzman
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Regards,
I created this program for check parameter.
The program is :
public static void main(String[] args) {
try {
Hashtable props = new Hashtable();
props.put(InitialContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
//props.put(InitialContext.PROVIDER_URL,"t3://morfeo.firabcn.es:8001,morfeo.firabcn.es:8002");
props.put(InitialContext.PROVIDER_URL,"t3://morfeo.firabcn.es:8001");
InitialContext ctx = new InitialContext(props);
QueueConnectionFactory factory =(QueueConnectionFactory) ctx.lookup("jms/connectionFactory");
//Queue messageQueue =(Queue) ctx.lookup("firabcn.messaging.MailQueue");
Queue messageQueue =(Queue) ctx.lookup("firabcn.messaging.MailQueue");
QueueConnection jmsCon = factory.createQueueConnection();
QueueSession jmsSession =jmsCon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
//QueueSender sender = jmsSession.createSender(messageQueue);
QueueReceiver receiver = jmsSession.createReceiver(messageQueue);
//Message message = jmsSession.createTextMessage("Prova");
//sender.send(message);
System.out.println(receiver.getQueue());
} catch (Exception e) {
e.printStackTrace(System.err);
}
This program works correctly
Hi,
Pls change the port name from J2ee port to P4 port and try again.this could be the problem.we had the same problem and resolved after changing it.
<b>j2ee port</b> - 5XX00 where XX is your instance numer
<b>http port - 80XX</b> - you can find it in SMICM - goto - services
<b>P4 - visual admin port</b> - 5XX04
Regards,
Srinivas
your error is about not being able to instanciate the Initial context factory.
weblogic.jndi.WLInitialContextFactory is a class that would be required for this and i doubt if it is a part of the JMS library that you installed as a driver. to the best of my knowledge, the whole weblogic.jar needs to be used to connect to weblogic and use its services.
Hi,
Check below given parameters in your scenario.
JNDI lookup Name of QueueConnectionFactory: <b>jms/connectionFactory</b>
JNDI lookup Name of JMS Queue:<b> firabcn.messaging.MailQueue</b>
Name of JNDI Initial Context Factory: <b>weblogic.jndi.WLInitialContextFactory</b>
Goto source JMS and check the created queue path name and associated connection factory.i thnk JNDI lookup Name of JMS Queue is wrong.
Regards,
Srinivas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
62 | |
10 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.