[ tajfun010 @ 01.08.2010. 17:27 ] @
Pozdrav pokusavam da napravim corba client server aplikaciju u javi, radim na osnovu knjige "Teach Yourself CORBA in 14Days" samo sto je tamo koriscen Visibrocker a ja koristim javin idlj kompajler. U pitanju je StockMarket aplikacija. Napravio sam server i on radi bez problema ali imam problem sa klijentom, ovo je vec treca nedelja kako razbijam glavu. Startujem orbd servis, pa zatim i server i sve to radi a kad startujem klijent dobijam ovu gresku:

EROR: org.omg.CORBA.NO_IMPLEMENT: vmcid: 0x0 minog code: 0 completed:no
org.omg.CORBA.NO_IMPLEMENT: vmcid: 0x0 minog code: 0 completed:no
at com.sun.corba.se.internalcorba.ORBSingleton.resolv e_initial_references(ORBSingleton.java:290)
at StockClient.connect(StockClient.java:25)
at StockClient.main(StockClient.java:58)

EROR: org.omg.CORBA.NO_IMPLEMENT: vmcid: 0x0 minog code: 0 completed:no
org.omg.CORBA.NO_IMPLEMENT: vmcid: 0x0 minog code: 0 completed:no
at com.sun.corba.se.internalcorba.ORBSingleton.resolv e_initial_references(ORBSingleton.java:290)
at StockClient.connect(StockClient.java:25)
at StockClient.run(StockClient.java:14)
at StockClient.main(StockClient.java:59)


ovo je kod klijenta:

Code:

import StockMarket.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;


public class StockClient {
    StockClient() {
    }

public void run() {
    
    connect();
    if (myStock != null) {
    doSomething();
    }

}


protected void connect() {
  try {
    ORB orb = ORB.init ();
    org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService") ;
    NamingContextExt  ncRef = NamingContextExtHelper.narrow(objRef);
    
    String name = "StockMarket";
    myStock = StockHelper.narrow(ncRef.resolve_str(name)) ;

    System.out.println("Obtained a handle on server object: " + myStock);
    System.out.println("Succesfully bound to a StockServer.");
    
         } 
    catch (Exception e) {
    System.out.println("EROR : " + e) ;
    e.printStackTrace(System.out);
    }
}


protected void doSomething() {
try{
    String [] stockSymbols = myStock.getStockSymbols();
    for (int i = 0; i < stockSymbols.length; i++) {
           System.out.println(stockSymbols[i] + "  " + myStock.getStockValue (stockSymbols[i]));
    }
    }
    catch (org.omg.CORBA.SystemException ex) {
       System.err.println("Fatal eror: " + ex);
    }
    }


public static void main (String args []) {
    
    StockClient stockClient = new StockClient();
    stockClient.connect() ;
    stockClient.run();
    while (true);
    }

private Stock myStock;
}


zna li neko u cemu je problem?
[ Dejan Lozanovic @ 02.08.2010. 12:51 ] @
Ako smem da pitam cemu CORBA u danasnje vreme ?
[ dejanet @ 02.08.2010. 13:31 ] @
..Meni je pre nepunu godinu zalutao upit za Forex tip aplikacije, gde se za servise koristila Corba..

Pre toga je se secam kao install opcije za delphi, koju sam rechekirao obicno..
[ sajkas @ 24.08.2010. 17:04 ] @
Ukljucio bi jos neke biblioteke poput util.* i io.*.

A connect() bi ovako probao:

protected void connect() {
try {

String args[] = null;

ORB orb = ORB.init(args, null);

org.omg.CORBA.Object objRef =
orb.resolve_initial_references("NameService");

NamingContext ncRef = NamingContextHelper.narrow(objRef);


String name = "StockMarket";
myStock = StockHelper.narrow(ncRef.resolve_str(name)) ;

System.out.println("Obtained a handle on server object: " + myStock);
System.out.println("Succesfully bound to a StockServer.");

}
catch (Exception e) {
System.out.println("EROR : " + e) ;
e.printStackTrace(System.out);
}
}