Bonjour,

Je voudrais invoquer un MDB déployé avec succès dans WAS 7 depuis un JMS client.

Voici mon JMS client :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
import java.util.Hashtable;
import javax.jms.JMSException;
import javax.naming.Context;
import javax.naming.*;
import javax.jms.*;
 
 
public class Main
{
  public static void main(String[] args)
  throws JMSException, Exception
 
  {
    String messageID = null;
    String outString = null;
    String  cfName                    = "jms/blueconfactory";
    String  qnameIn                   = "java:comp/env/jms/Q1";
    String  qnameOut                  = "jms/bluequename";
    boolean verbose = false;
 
    Session session = null;
    Connection connection = null;
    ConnectionFactory cf = null;
    MessageProducer mp = null;
    Destination destination = null;
 
    try {  
 
    	Hashtable env = new Hashtable();
    	env.put(Context.INITIAL_CONTEXT_FACTORY,
    	     "com.ibm.websphere.naming.WsnInitialContextFactory");
    	env.put(Context.PROVIDER_URL, "iiop:localhost:2809");
    	Context initialContext = new InitialContext(env);
		System.out.println("Getting Connection Factory");
 
		cf= (ConnectionFactory)initialContext.lookup( cfName );
 
		System.out.println("Getting Queue");
		destination =(Destination)initialContext.lookup(qnameOut);
 
        System.out.println("Getting Connection for Queue");
		connection = cf.createConnection();
 
        System.out.println("staring the connection");
		connection.start();
 
        System.out.println("creating session");
		session = connection.createSession(false, 1);
 
        System.out.println("creating messageProducer");
		mp = session.createProducer(destination);
 
        System.out.println("creating TextMessage");
		TextMessage outMessage = session.createTextMessage("this is test application");
 
        System.out.println("sending Message");
		mp.send(outMessage);
 
		mp.close();
		session.close();
		connection.close();
    }
    catch (Exception e) {
	e.printStackTrace();
	}
	}
	}
Malheureusement, j'ai eu cette trace d'exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
     [java] javax.naming.NoInitialContextException: Failed to create InitialCont
ext using factory specified in hashtable {java.naming.provider.url=iiop:localhost:2809, java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFa
ctory} [Root exception is java.lang.NullPointerException]
     [java]     at javax.naming.spi.NamingManager.getInitialContext(Unknown Sour
ce)
     [java]     at javax.naming.InitialContext.initializeDefaultInitCtx(Unknown
Source)
     [java]     at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
 
     [java]     at javax.naming.InitialContext.internalInit(Unknown Source)
     [java]     at javax.naming.InitialContext.<init>(Unknown Source)
     [java]     at Main.main(Main.java:33)
     [java] Caused by: java.lang.NullPointerException
     [java]     ... 6 more
Merci de m'aider