(◎) A
的话,我这边会暴出Java.Lang.ClassCastException

解决方案 »

  1.   

    恩,/*IDL file*/
      interface SBObj
        {
    void func1(in wstring a);
        };
      interface Deal
        {
            void openQuery(in SBObj   SBO,
                           in wstring Name) raises (UserDefinedException)
        }
      
    /*Server Side*/
    public class SBObject extends SBObjPOA
    {
       public void func1(String a)
       {
       }  
    }public class DealImpl extends DealPOA
    {
        public void openQuery(SBObj SBO,String Name)
        {
            /*here need to convert from SBObj to SBObject*/
         }
    }
    //在code里面 SBObj,SBObjPOA,DealPOA等都是idl2java生成出来的
      

  2.   

    我理解lz的意思是服务器还要当客户端使用,客户端也还是一个服务器.这样肯定可以实现(我实现过)
    可以尝试一下**Helper.narrow()方法试一下.
      

  3.   

    narrow方法的返回值,类型只是SBObj类型
    而这个类型,我已经可以得到了,作为openQuery的参数
    idl2java自动生成了我想要得到的是SBObject类型,是SBObjPOA的子类
      

  4.   

    我现在的问题就是我通过corba在client端获得了一个server端的映射当我把它作为参数传回去server端的时候server端能不能认出来,这个就是原来我给出去的那个class对他能做什么操作
      

  5.   

    well...
    这个问题最终找到了解决的方法
    用相关的poa的reference_to_servant方法,可是转换作为一个总结
      

  6.   

    不知道lz是否还关注
    想看下调用reference_to_servant附近5行的代码,不知可否?