2014-07-22 20 views
6

Ho riscontrato problemi durante la ricerca di EJB 3.1 distribuito su WebSphere 8.5.Come scrivere il client EJB 3.1 per WebSphere 8.5?

Si prega di suggerire me:

  1. Quali sono tutte le librerie ho bisogno di includere nel classpath?
  2. Come costruire una stringa di ricerca?
  3. È necessario modificare alcune impostazioni sul lato server?

Nota: sto usando Eclipse

risposta

5

Prova questo:

  1. Aggiungi com.ibm.ws.ejb.thinclient_8.5.0.jar e com.ibm.ws.orb_8.5.0.jar jar al classpath dell'applicazione client.
  2. Genera lo stub del client eseguendo lo script createEJBStubs.sh.
    createEJBStubs.sh script trovato nella directory <WAS_HOME>/bin.
    Sintassi: ./createEJBStubs.sh <ejbJarName>.jar
  3. Aggiungere il jar generato al classpath dell'applicazione client.
  4. Fornire il nome personalizzato JNDI allo EJB come segue:
    Aprire la console WebSphere, sul pannello laterale sinistro fare clic su Applications>All applications.
    Fare clic sulla propria applicazione distribuita.
    Fare clic su Bind EJB Business sotto Enterprise Java Bean Properties.
    Impostare il nome personalizzato JNDI per il numero EJB nella colonna JNDI name. per esempio.customLookupString

Esempio Codice Cliente:

public class WebSphereClient { 
    public static void main(String[] args) { 
     Properties props = new Properties(); 
     props.put(Context.INITIAL_CONTEXT_FACTORY, 
       "com.ibm.websphere.naming.WsnInitialContextFactory"); 
     props.put(javax.naming.Context.PROVIDER_URL, "iiop://localhost:2818"); 
     TestBeanRemote bean = null; 
     Object obj; 
     try { 
      InitialContext ctx = new InitialContext(props); 
      obj= ctx.lookup("customLookupString"); 
      if (obj instanceof TestBeanRemote) { 
       bean = (TestBeanRemote) obj; 
      } 
      System.out.println("Name : "+bean.getName()); 
     } catch (NamingException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

Sopra il codice e il processo ha funzionato per me.

4

controllare questa pagina Running the IBM Thin Client for Enterprise JavaBeans (EJB) per maggiori dettagli.

Quali sono tutte le librerie che è necessario includere in classpath?

Sarà necessario com.ibm.ws.ejb.thinclient_8.5.0.jar (con sede a app_server_root\runtimes) e il endorsed_apis_8.5.0.jar (che si trova in root_server_app \ runtime \ approvato). Copia jar endoresed su JAVA_JRE\lib\endorsed

Come costruire una stringa di ricerca?

Richiamare l'applicazione in questo modo:

<java_install_root>\bin\java 
-classpath com.ibm.ws.ejb.thinclient_8.5.0.jar;<list_of_your_application_jars_and_classes> 
-Djava.naming.provider.url=iiop://<your_application_server_machine_name>:<orbPort> 
<fully_qualified_class_name_to_run> 

Se è stata attivata la protezione del server e SSL richiesto, è necessario aggiungere seguente:

-Dcom.ibm.SSL.ConfigURL=file:///home/user1/ssl.client.props 
-Dcom.ibm.CORBA.ConfigURL=file:///home/user1/sas.client.props 

è possibile trovare questi file nella i tuoi file di installazione di WebSphere, in PROFILE_ROOT\properties

Problemi correlati