IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Connexion à un Naming Service (TAO)


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Connexion à un Naming Service (TAO)
    Bonjour,

    Je développe une IHM qui doit parcourir un Naming Service pour y récupérer et lister tous les objets qui y sont référencés. J'avais dans un premier temps utiliser l' orbd pour mes test (Object Request Broker Daemon). J'arrivais à m'y connecter en local avec le code qui suit :

    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
    69
    70
    71
    72
    public void browseNs(Address address) {
    
    		System.out.println("*** browseNs (" + address + ")");
    		
    		if (dlm == null) {
    			System.out.println("*** browseNs : No model to fill (dlm = null)");
    			return; // no model to fill
    		}
    		
    	String port =  address.getPort() + "";
            String ip = address.getIp();
    
            String[] myOrbArgs = 
            { "-ORBInitRef", "NameService=corbaloc::" + ip + ":" + port + "/NameService" };
    
    		try {
    			/** create and initialize the ORB */
    			ORB orb = ORB.init(myOrbArgs, null);
    
    			/** get the root naming context */
    			org.omg.CORBA.Object objRef = orb
    					.resolve_initial_references("NameService");
    
    			/**
    			 * Use NamingContextExt instead of NamingContext. This is part of
    			 * the interoperable naming Service.
    			 */
    
    			NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
    
    			firePropertyChange("CONNECTSTATUS", "NOT CONNECTED", "CONNECTED - " + address);
    			
    			// List all bindings in the naming context.
    			BindingListHolder bl = new BindingListHolder();
    			BindingIteratorHolder blIt = new BindingIteratorHolder();
    			ncRef.list(1000, bl, blIt);
    
    			// Get the array of bindings
    			Binding bindings[] = bl.value;
    
    			System.out.println("*** Found " + bindings.length + " binding(s)");
    			// This code loops through the bindings and prints the names out.
    			for (int i = 0; i < bindings.length; i++) {
    
    				int lastIx = bindings[i].binding_name.length - 1;
    
    				// check to see if this is a naming context
    				if (bindings[i].binding_type == BindingType.ncontext) {
    					System.out.println("Context: "
    							+ bindings[i].binding_name[lastIx].id);
    				} else {
    					System.out.println("Object: " +
    							bindings[i].binding_name[lastIx].id + " - Type: " +
    							bindings[i].binding_type);
    
    					observableImpl = ObservableHelper.narrow(ncRef
    							.resolve_str(bindings[i].binding_name[lastIx].id));
    
    					LoggerConfigListHolder lclh = new LoggerConfigListHolder();
    					observableImpl.getLoggerConfig(lclh);
    					extractLoggerFromArray(dlm,lclh);
    				}
    			}
    		}
    
    		catch (Exception e) {
    			System.out.println("ERROR : " + e);
    			e.printStackTrace(System.out);
    		}
    
    	}

    L'erreur obtenu est :
    Aug 27, 2009 10:29:59 AM com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl <init>
    WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 127.0.0.1; port: 1050"
    org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2172)
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2193)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:205)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:218)
    at com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:101)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:152)
    at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:118)
    at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:211)
    at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
    at org.omg.CosNaming.NamingContextExtHelper.narrow(NamingContextExtHelper.java:73)
    at com.thalesgroup.fr.observability.logcontroller.corba.LogControllerCorbaReader.browseNs(LogControllerCorbaReader.java:96)

    at com.thalesgroup.fr.observability.gui.LoggerConnectBox.tryConnect(LoggerConnectBox.java:324)
    at com.thalesgroup.fr.observability.gui.LoggerConnectBox.access$9(LoggerConnectBox.java:321)
    at com.thalesgroup.fr.observability.gui.LoggerConnectBox$5.actionPerformed(LoggerConnectBox.java:173)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6041)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
    at java.awt.Component.processEvent(Component.java:5806)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4413)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
    at java.awt.Container.dispatchEventImpl(Container.java:2102)
    at java.awt.Window.dispatchEventImpl(Window.java:2440)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
    at java.awt.Dialog$1.run(Dialog.java:1045)
    at java.awt.Dialog$3.run(Dialog.java:1097)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Dialog.show(Dialog.java:1095)
    at java.awt.Component.show(Component.java:1422)
    at java.awt.Component.setVisible(Component.java:1375)
    at java.awt.Window.setVisible(Window.java:806)
    at java.awt.Dialog.setVisible(Dialog.java:985)
    at com.thalesgroup.fr.observability.gui.LoggerConnectBox.<init>(LoggerConnectBox.java:67)
    at com.thalesgroup.fr.observability.gui.LoggerConnectBox.<init>(LoggerConnectBox.java:48)
    at com.thalesgroup.fr.observability.gui.LoggerMenuBar$1.actionPerformed(LoggerMenuBar.java:38)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1220)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(BasicMenuItemUI.java:1324)
    at javax.swing.JMenuItem.fireMenuDragMouseReleased(JMenuItem.java:568)
    at javax.swing.JMenuItem.processMenuDragMouseEvent(JMenuItem.java:465)
    at javax.swing.JMenuItem.processMouseEvent(JMenuItem.java:411)
    at javax.swing.MenuSelectionManager.processMouseEvent(MenuSelectionManager.java:304)
    at javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.eventDispatched(BasicPopupMenuUI.java:807)
    at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Toolkit.java:2360)
    at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2252)
    at java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2210)
    at java.awt.Component.dispatchEventImpl(Component.java:4311)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
    at java.awt.Container.dispatchEventImpl(Container.java:2102)
    at java.awt.Window.dispatchEventImpl(Window.java:2440)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    Caused by: java.net.ConnectException: Connection refused
    at sun.nio.ch.Net.connect(Native Method)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:507)
    at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
    at com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket(DefaultSocketFactoryImpl.java:60)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:188)
    ... 75 more

    J'ai mis en gras la ligne ou ça bug (dans le code et le quote).

    Pour info, je lance le Naming Service avec la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xterm -e "/applis/ace-tao_5.5.1-1.5.1/TAO/orbsvcs/Naming_Service/Naming_Service -m 1"&
    Et la valeur du port $NameServicePort est bien à 1050.



    Auriez-vous une idée pour résoudre ce problème ?

    Cordialement.

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    up. Pas d'idées ?

Discussions similaires

  1. Jacorb:hello word naming service
    Par bibi_bobo dans le forum CORBA
    Réponses: 3
    Dernier message: 01/04/2009, 19h04
  2. Erreur naming service CORBA
    Par inertia dans le forum CORBA
    Réponses: 5
    Dernier message: 26/06/2008, 02h39
  3. Jacorb IIOP naming service
    Par cixi79 dans le forum CORBA
    Réponses: 7
    Dernier message: 14/04/2005, 14h39
  4. [corba naming service multicast]
    Par jayjaypg22 dans le forum CORBA
    Réponses: 3
    Dernier message: 18/08/2004, 11h14
  5. naming service
    Par manuel dans le forum CORBA
    Réponses: 6
    Dernier message: 09/12/2002, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo