2012-02-26 23 views
0

私は2つのプロジェクトを持っています最初はEjb3プロジェクトの名前はSessionBeanで、JavaプロジェクトはSessionBeanClientです。 IDEの場合は、日食インディゴを使用します。私はコードを完了し、私はコンパイルしたときにエラーが発生します。ここにエラーがあります。セッションBean原因:javax.naming.NamingException

enter code here 

package com.iqbal.ejb; 

import javax.ejb.Stateless; 

import com.iqbal.interfaces.ISessionFacade1Local; 

@Stateless(name="SessionFacade1", mappedName="SessionFacade1") 
public class SessionFacade1 implements ISessionFacade1Local 
{ 

    @Override 
    public double generatedRandomNumber(int number) 
    { 
     // TODO Auto-generated method stub 
     return Math.random(); 
    } 

} 

するためのインタフェース

enter code here 
package com.iqbal.interfaces; 

import javax.ejb.Remote; 

@Remote 
public interface ISessionFacade1Local 
{ 
    public double generatedRandomNumber(int number); 
} 

のためにそして、私はすでにビルドパスからSessionBeanClientにSessionBeanのプロジェクトを追加し、追加する必要があり

enter code here 
package com.iqbal.client; 
import java.util.Properties; 

import javax.naming.InitialContext; 
import javax.naming.NamingException; 

import com.iqbal.interfaces.ISessionFacade1Local; 


public class BeanClient 
{ 
    public static void main(String[] args) 
    { 
      Properties props = new Properties(); 

      props.setProperty("java.naming.factory.initial", 
          "com.sun.enterprise.naming.SerialInitContextFactory"); 

      props.setProperty("java.naming.factory.url.pkgs", 
          "com.sun.enterprise.naming"); 

      props.setProperty("java.naming.factory.state", 
          "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl"); 


      // optional. Defaults to localhost. Only needed if web server is running 
      // on a different host than the appserver 
      props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost"); 

      // optional. Defaults to 3700. Only needed if target orb port is not 3700. 
      props.setProperty("org.omg.CORBA.ORBInitialPort", "8080"); 

      try 
      { 
      InitialContext ic = new InitialContext(props); 
      ISessionFacade1Local local = (ISessionFacade1Local)ic.lookup("SessionFacade1#com.iqbal.interfaces.ISessionFacade1Local"); 

      System.out.println("Random Number is== "+local.generatedRandomNumber(200)); 
      } 
      catch (NamingException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 

クライアントの場合

Feb 26, 2012 5:01:32 PM com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl findDerbyClient 
INFO: Cannot find javadb client jar file, derby jdbc driver will not be available by default. 
org.omg.CORBA.COMM_FAILURE: FINE: IOP00410008: Connection abort vmcid: OMG minor code: 8 completed: Maybe 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248) 
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511) 
    at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99) 
    at $Proxy24.connectionAbort(Unknown Source) 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doOptimizedReadStrategy(SocketOrChannelConnectionImpl.java:1537) 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1084) 
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497) 
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540) 
Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410011: IOException received when reading from connection SocketOrChannelConnectionImpl[ java.nio.channels.SocketChannel[connected local=/127.0.0.1:53584 remote=localhost/127.0.0.1:8080] ESTABLISHED true true] vmcid: OMG minor code: 11 completed: No 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248) 
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511) 
    at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99) 
    at $Proxy24.ioexceptionWhenReadingConnection(Unknown Source) 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.nonBlockingRead(SocketOrChannelConnectionImpl.java:1708) 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doOptimizedReadStrategy(SocketOrChannelConnectionImpl.java:1481) 
    ... 3 more 
Caused by: java.io.IOException: End-of-stream 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.nonBlockingRead(SocketOrChannelConnectionImpl.java:1700) 
    ... 4 more 
javax.naming.NamingException: Lookup failed for 'SessionFacade1#com.iqbal.interfaces.ISessionFacade1Local' in SerialContext[myEnv={org.omg.CORBA.ORBInitialPort=8080, java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory, org.omg.CORBA.ORBInitialHost=localhost, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={org.omg.CORBA.ORBInitialPort=8080, java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory, org.omg.CORBA.ORBInitialHost=localhost, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410008: Connection abort vmcid: OMG minor code: 8 completed: Maybe]] 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518) 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) 
    at javax.naming.InitialContext.lookup(InitialContext.java:392) 
    at com.iqbal.client.BeanClient.main(BeanClient.java:36) 
Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={org.omg.CORBA.ORBInitialPort=8080, java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory, org.omg.CORBA.ORBInitialHost=localhost, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410008: Connection abort vmcid: OMG minor code: 8 completed: Maybe] 
    at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:352) 
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504) 
    ... 3 more 
Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410008: Connection abort vmcid: OMG minor code: 8 completed: Maybe 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248) 
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511) 
    at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99) 
    at $Proxy24.connectionAbort(Unknown Source) 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doOptimizedReadStrategy(SocketOrChannelConnectionImpl.java:1537) 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1084) 
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497) 
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540) 
Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410011: IOException received when reading from connection SocketOrChannelConnectionImpl[ java.nio.channels.SocketChannel[connected local=/127.0.0.1:53584 remote=localhost/127.0.0.1:8080] ESTABLISHED true true] vmcid: OMG minor code: 11 completed: No 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248) 
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107) 
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511) 
    at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99) 
    at $Proxy24.ioexceptionWhenReadingConnection(Unknown Source) 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.nonBlockingRead(SocketOrChannelConnectionImpl.java:1708) 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doOptimizedReadStrategy(SocketOrChannelConnectionImpl.java:1481) 
    ... 3 more 
Caused by: java.io.IOException: End-of-stream 
    at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.nonBlockingRead(SocketOrChannelConnectionImpl.java:1700) 
    ... 4 more 

appserv- rt.jarおよびgf-client.jarおよびglassfishサーバ・ライブラリ。しかし、..上記のエラーはまだ出てくる。誰でも助けることができます、お願いします...?

答えて

0

私は最近、similar problemを持っていました(少なくとも私は適切だと思います)。 何らかの調査の後、自分の設定で間違ったRMIポートを使用していることがわかりました。私は8080を使用しましたが、私の場合、サーブレットポート(8080)はRMIポートと同じではないように見えました(JBoss 1099ではデフォルトポートです)。

1

私はすでにポート8080を3700に変更しています。なぜですか?なぜなら、ローカル用の8080であり、インターフェイスで@Remoteを設定しているからです。3700を使用しなければなりません。間違って、教えてください。

+1

ポート8080は、GlassfishのデフォルトのポートHTTP(Webサイト、Webサービス)です。ポート3700は、リモートEJBを呼び出すために使用されるCORBA ORB(IIOPプロトコル経由)のデフォルトポートです。 –

関連する問題