AppsTestClient1.java~1~
上传用户:jnhyscl
上传日期:2010-03-08
资源大小:345k
文件大小:2k
源码类别:

电子政务应用

开发平台:

Java

  1. package web;
  2. import shiponline.*;
  3. import javax.naming.*;
  4. import java.util.Properties;
  5. import javax.rmi.PortableRemoteObject;
  6. public class AppsTestClient1 extends Object {
  7.   private AppsHome appsHome = null;
  8.   //Construct the EJB test client
  9.   public AppsTestClient1() {
  10.     initialize();
  11.   }
  12.   public void initialize() {
  13.     try {
  14.       //get naming context
  15.       Context context = getInitialContext();
  16.       //look up jndi name
  17.       Object ref = context.lookup("Apps");
  18.       //look up jndi name and cast to Home interface
  19.       appsHome = (AppsHome) PortableRemoteObject.narrow(ref, AppsHome.class);
  20.     }
  21.     catch(Exception e) {
  22.       e.printStackTrace();
  23.     }
  24.   }
  25.   private Context getInitialContext() throws Exception {
  26.     String hostname="fanhua02";
  27.     String url = "iiop://fanhua02:9090";
  28.     String user ="Guest";
  29.     String password ="GuestPassword";
  30.     Properties properties = null;
  31.     try {
  32.       properties = new Properties();
  33.       properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sybase.ejb.InitialContextFactory");
  34.       properties.put(Context.PROVIDER_URL, url);
  35.       properties.put(Context.SECURITY_PRINCIPAL, user);
  36.       properties.put(Context.SECURITY_CREDENTIALS, password);
  37.       Thread curr=Thread.currentThread();
  38.       ClassLoader l=curr.getContextClassLoader();
  39.       ClassLoader c=l;
  40.       java.net.URL classPath = new java.net.URL("http",hostname,8080,"/classes/");
  41.       curr.setContextClassLoader(java.net.URLClassLoader.newInstance(new java.net.URL[]{classPath},l));
  42.       return new InitialContext(properties);
  43.     }
  44.     catch(Exception e) {
  45.       throw e;
  46.     }
  47.   }
  48.   //----------------------------------------------------------------------------
  49.   // Utility Methods
  50.   //----------------------------------------------------------------------------
  51.   public AppsHome getHome() {
  52.     return appsHome;
  53.   }
  54.   //Main method
  55.   public static void main(String[] args) {
  56.     AppsTestClient1 client = new AppsTestClient1();
  57.     // Use the getHome() method of the client object to call Home interface
  58.     // methods that will return a Remote interface reference.  Then
  59.     // use that Remote interface reference to access the EJB.
  60.   }
  61. }