2015-01-05 3 views
0

에서 호출 및 웹 로직 12C에 그것을 배치했다. 이제 간단한 자바 클라이언트를 통해 원격 빈에 액세스 할 수있다. 잘 작동합니다.원격 EJB 빈 내가 EJB 3.1을 사용하여 원격 EJB 빈을 만든 Tomcat 웹 응용 프로그램

자바 클라이언트 코드 :

Context ctx = null; 
      Hashtable ht = new Hashtable(); 
      ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); 
      ht.put(Context.PROVIDER_URL, "t3://localhost:7001"); 
     try { 
      InitialContext ic = new InitialContext(ht); 

} 

나의 다음 접근 방식은 톰캣 7에 배포 된 웹 응용 프로그램이 원격 빈을 호출하는 것입니다 그러나에 의한 예외

을 던지고있다 : java.lang의 .ClassNotFoundException : weblogic.jndi.WLInitialContextFactory.

나는 EJB 빈 호출하는 다음 코드를 사용하고 있습니다 : 속성 속성 = 새 속성();

 properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); 
     properties.put("java.naming.factory.url.pkgs", "weblogic.jndi.factories:weblogic.corba.j2ee.naming.url"); 
     properties.put(Context.PROVIDER_URL, "t3://localhost:7001"); 
     properties.put(Context.SECURITY_PRINCIPAL, "weblogic"); 
     properties.put(Context.SECURITY_CREDENTIALS, "weblogic1"); 
     try { 
      Context ic = new InitialContext(properties); 
} 

작동하려면 어떻게해야합니까?

감사

답변

3

당신은 wlthint3client.jar 또는 웹 애플리케이션 클래스 패스에 wlfullclient.jar 중 하나가 있어야합니다. 둘 다 weblogic 배포판에서 구할 수 있습니다. 자신의 사용에

자세한 내용은 저 클래스 경로에 (순서대로) wlthint3client.jar wlclient.jar 추가하는 here

+0

은 내가 lib 폴더 아래에 웹 애플리케이션 클래스 패스에 wlfullclient.jar있다. – Kumar

+0

그건 내가 아는 한 문제를 해결해야한다. 항아리에 상기 클래스 파일이 포함되어 있는지 확인할 수 있습니까? 그래도 여전히 동일한 오류가 표시되면 설정에 문제가있는 것입니다. – ramp

+0

나는 application.Now의 WEB-INF/lib 폴더 아래에 jar 파일을 제공했다. 위의 예외가 있지만 다음 줄에는 예외가 발생했다. javax.naming.NamingException : vmcid : SUN 마이너 코드 : 211 조회 [루트 예외 처리되지 않은 예외 org.omg.CORBA.MARSHAL이다. – Kumar

0

일 찾을 수 있습니다. 내 경우

내가 테스트 클래스에서 EJB를 호출하려고했다.

weblogic.ejb.spi.BusinessObject obj = (weblogic.ejb.spi.BusinessObject) context.lookup("MyEJBRemoteMappedName#br.com.ejbclient.MyEJBRemote"); 
br.com.ejbclient.MyEJBRemote myEJB = (br.com.ejbclient.MyEJBRemote) obj._WL_getBusinessObjectHandle().getBusinessObject(); 

내가 wls12130 사용하고 있습니다 : 인스턴스를 얻으려면 나는이 방법을했다.