Logical model cannot refer to 'remote objects'?

Hi
Using DM 3.3.0.747.
In the relational model one can drag and drop in a table from another relational model from a separate design.  This shows that table as a linked table and can be refreshed via the 'Synchronize Remote Objects' and allows that table to be referenced from your 'local' tables (i.e. used in foreign keys).
I tried the same, but for a logical model entity.  This does not work/is not allowed?  What is the expected behaviour?
We would like to use this for logical models as well.  (So that we may develop/document the logical models separate, but use common/shared entities in the same way possible in relational models.  This will help us a lot in keeping the models smaller and easier to manage and version control.)
Thank you & Regards

Hi Ed,
I presume you had some relationships in the Logical Model that you were expecting to be engineered to Foreign Key relationships in the Relational Model.
Please can you provide more detail to help resolve your problem. For example:
Was the problem on an initial engineer from the logical model? Or on a re-engineer?
Are you using Entity subtyping in your Logical Model?
Are there any relevant error messages in the log file? (This is normally file datamodeler.log in folder datamodeler\datamodeler\log.)
David

Similar Messages

  • Cannot narrow remote object error?

    Hello,
    <br><br>
    My application is composed of 2 different package A and B. All deployed in the same server.<br>
    - A implements EJBA<br>
    - B implements EJBB<br>
    EJBA is registred in the JNDI tree as ejb.a<br><br>
    When EJBB runs these line of code :<br>
    Object obj = context.lookup("ejb.a");<br>
    System.out.println("ref:" + obj); // ref : com.coface.util.ejb.tools_<b>cvb9yr</b>_HomeImpl@a64642<br>
    AHome home = (AHome) PortableRemoteObject.narrow(obj, AHome.class);<br>
    Narrow raises :<br>
    java.lang.ClassCastException: Cannot narrow remote object to AHome
    at weblogic.iiop.PortableRemoteObjectDelegateImpl.narrow(PortableRemoteObjectDelegateImpl.java:242)
    at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
    <br><br><br>
    I have no idea what can be wrong and how I can debug this kind of exception.<br>
    I just noticed this odd "cvb9yr" in the looked up instance class. Thought I am not sure how this name is generated.<br>
    Anyone could help me to track down the cause of this exception?<br><br>
    Thanks<br>
    <br>
    Alexandre
    Message was edited by:
    acuenca

    alexandre cuenca <> writes:
    Do you have A's client jar in B's package? You might need this unless
    they are in the same ear. Otherwise it looks like a classloding bug.
    andy
    Hello,
    <br><br>
    My application is composed of 2 different package A and B. All deployed in the same server.<br>
    - A implements EJBA<br>
    - B implements EJBB<br>
    EJBA is registred in the JNDI tree as ejb.a<br><br>
    When EJBB runs these line of code :<br>
    Object obj = context.lookup("ejb.a");<br>
    System.out.println("ref:" + obj); // ref : com.coface.util.ejb.tools_<b>cvb9yr</b>_HomeImpl@a64642<br>
    AHome home = (AHome) PortableRemoteObject.narrow(obj, AHome.class);<br>
    Narrow raises :<br>
    java.lang.ClassCastException: Cannot narrow remote object to AHome
    at weblogic.iiop.PortableRemoteObjectDelegateImpl.narrow(PortableRemoteObjectDelegateImpl.java:242)
    at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
    <br><br><br>
    I have no idea what can be wrong and how I can debug this kind of exception.<br>
    I just noticed this odd "cvb9yr" in the looked up instance class. Thought I am not sure how this name is generated.<br>
    Anyone could help me to track down the cause of this exception?<br><br>
    Thanks<br>
    <br>
    Alexandre
    Message was edited by:
    acuenca--

  • Cannot add entities to logical model

    SQL Developer
    Version 2.1.0.62
    Build MAIN-62.61
    I cannot create a logical model (Entities relations etc)
    (I can make a relational model by importing tables)
    Within the online help: "Click the New Entity icon."
    But i havn't a "New Entity icon"
    regards,
    Marcel

    If you're inside SQL Developer, you're in the wrong tool, as it can currently only view models.
    Download the stand-alone [Data Modeler|http://www.oracle.com/technology/products/database/datamodeler/index.html] (mind the license is not free ) ...
    Have fun,
    K.

  • Exception: Cannot narrow remote object to ...

    Hi,
              in certain circumstances I get an Exception "Cannot narrow remote
              object to <some EJB-Home-Class>".
              My enviroment: weblogic 7.0, solaris, Java 1.3.1, J2EE-application
              (EJBs, Servlets, Database)
              In the init method of an start-up servlet I spawn some threads for a
              scheduler of the application. There are a scheduler core and some
              worker classes.
              The start-up servlet, all the other servlets and the schedulers
              classes are in an web-archive (war-file) in an ear-archiv. Furthermore
              there a some 3rd party archives in the ear-archive, a jndi.properties
              file etc. The manifest file of the war-archive contains a class-path,
              points to the 3rd party archives in the ear-archive.
              The schedulers workers code is simple:
              InitialContext jndiContext = ...getInitialContext();
              Object obj = jndiContext.lookup(<some EJB>);
              - EJBs home interface (for example):
              SyncOrderQueueHome home = (SyncOrderQueueHome)
              javax.rmi.PortableRemoteObject.narrow(obj,
              SyncOrderQueueHome.class);
              - EJBs remote interface:SyncOrderQueue sync = home.create();
              - call some business method
              sync.createOrderQueue();
              In the enviroment described above I get an " Exception: Cannot narrow
              remote object to <package>.SyncOrderQueueHome".
              On the other hand the scheduler and all the workers work fine as a
              standalone application (not in an app-server context) and in Oracles
              app-server (OC4J, v.9.0.3).
              I tried to understand, what for an object I get as the result of the
              JNDI lookup bevore the narrow method fails:
              - in the app-servers context:
              <package>.SyncOrderQueueEJB_4o6qkf_HomeImpl
              - outside the app-server:
              <package>.SyncOrderQueueEJB_4o6qkf_HomeImpl_WLStub
              What happened here? The common servlets use the same functionality and
              work fine. Why I get different objects? Where is the bug?
              Any ideas?
              Thomas
              

    I believe the problem is the threads you are starting are not using the
              context classloader of the current thread.
              -- Rob
              [email protected] wrote:
              > Hi,
              >
              > in certain circumstances I get an Exception "Cannot narrow remote
              > object to <some EJB-Home-Class>".
              >
              > My enviroment: weblogic 7.0, solaris, Java 1.3.1, J2EE-application
              > (EJBs, Servlets, Database)
              >
              > In the init method of an start-up servlet I spawn some threads for a
              > scheduler of the application. There are a scheduler core and some
              > worker classes.
              > The start-up servlet, all the other servlets and the schedulers
              > classes are in an web-archive (war-file) in an ear-archiv. Furthermore
              > there a some 3rd party archives in the ear-archive, a jndi.properties
              > file etc. The manifest file of the war-archive contains a class-path,
              > points to the 3rd party archives in the ear-archive.
              >
              > The schedulers workers code is simple:
              >
              > InitialContext jndiContext = ...getInitialContext();
              > Object obj = jndiContext.lookup(<some EJB>);
              >
              > - EJBs home interface (for example):
              > SyncOrderQueueHome home = (SyncOrderQueueHome)
              > javax.rmi.PortableRemoteObject.narrow(obj,
              > SyncOrderQueueHome.class);
              >
              > - EJBs remote interface:SyncOrderQueue sync = home.create();
              >
              > - call some business method
              > sync.createOrderQueue();
              > In the enviroment described above I get an " Exception: Cannot narrow
              > remote object to <package>.SyncOrderQueueHome".
              >
              > On the other hand the scheduler and all the workers work fine as a
              > standalone application (not in an app-server context) and in Oracles
              > app-server (OC4J, v.9.0.3).
              >
              > I tried to understand, what for an object I get as the result of the
              > JNDI lookup bevore the narrow method fails:
              > - in the app-servers context:
              > <package>.SyncOrderQueueEJB_4o6qkf_HomeImpl
              > - outside the app-server:
              > <package>.SyncOrderQueueEJB_4o6qkf_HomeImpl_WLStub
              >
              > What happened here? The common servlets use the same functionality and
              > work fine. Why I get different objects? Where is the bug?
              >
              > Any ideas?
              > Thomas
              

  • Java.lang.ClassCastException: Cannot narrow remote object weblogic.rmi.inte

    Hi,
    I am trying to deploy ejb3.0 on weblogic 10 server. I am able to find the JNDI name of the stateless session bean correctly, but getting an exception while narrowing it down. My ejb3.0 client is a standalone java client. I am trying to access the stateless session ejb3.0 bean.Please help me. i have been trying it for many days.
    thanks in advance,
    Sanjeev
    [sanpraka@localhost certEjb]$ java -cp ./:/usr/weblogic/bea/wlserver_10.0/server/lib/weblogic.jar:/usr/weblogic/bea/wlserver_10.0/server/lib/wlclient.jar com.titan.clients.Client
    Object is weblogic.rmi.internal.BasicRemoteRef - hostID: '5337880647112897730S:127.0.0.1:[7001,7001,-1,-1,-1,-1,-1]:wl_server:examplesServer', oid: '302', channel: 'null'
    java.lang.ClassCastException: Cannot narrow remote object weblogic.rmi.internal.BasicRemoteRef - hostID: '5337880647112897730S:127.0.0.1:[7001,7001,-1,-1,-1,-1,-1]:wl_server:examplesServer', oid: '302', channel: 'null' to com.titan.travelagent.TravelAgentRemote
    at weblogic.corba.server.naming.ReferenceHelperImpl.narrow(ReferenceHelperImpl.java:206)
    at weblogic.rmi.extensions.PortableRemoteObject.narrow(PortableRemoteObject.java:88)
    at weblogic.iiop.PortableRemoteObjectDelegateImpl.narrow(PortableRemoteObjectDelegateImpl.java:32)
    at javax.rmi.PortableRemoteObject.narrow(Unknown Source)
    at com.titan.clients.Client.main(Client.java:24)
    [sanpraka@localhost certEjb]$

    We have a similar problem. We have a web application (on server A) that invokes an EJB on a remote server (server B). This works fine, until we deploy another web application to server A at which point the existing web application starts to throw java.lang.ClassCastException when narrowing the remote EJB interface. The exception starts to be thrown at the moment the latter web application is deployed - start is not required.
    The latter web application contains (actually in APP-INF/lib) the old version of the EJB remote interface, that somehow gets to be loaded into the classpath of the existing web application. The solution is to delete the old version of the EJB remote interface from APP-INF/lib of the latter web application (we didn't need it anyway), but it would be interesting to know in which circumstances classes can get mixed between enterprise applications.
    I failed to reproduce the error in simple scenario, so this does not happen always.

  • DataModeler: Cannot engineer from logical model to relational model

    Hello,
    I have been trying for a couple of (very frustrating) hours to engineer a very simple logical model to its relational model. The toolbar button (and also menu option) that should do this just does nothing. No errors, no feedback, absolutely nothing!!! However I could engineer a relational model back to its logical model.
    I am using SQL Modeler version 1.5.1 build 525 on Windows Vista. I have closed and restarted the program many times but to no avail. Are there other factors (e.g. anti-virus, JDK etc) that could be responsible? But then why are other parts of the software working but not this one?
    Please kindly send your advice asap so I can proceed. I really like the Modeler and will not want to discard it.
    Thanks,
    Chiedu

    Hi Folks,
    I was able to figure out the likely cause of the problem. The version of Modeler (datamodeling-1.5.1-525-no-jre.zip) I used was downloaded without JRE. The current version of JRE installed on my computer is Java 6 Update 12 (build 1.6.0_12-b04). I suppose the two don't quite work very well together.
    I have now downloaded and installed another version (datamodeling-1.5.1-525.zip) with its own JRE and the problem was resolved.
    My guess is that the problem was due to the incompatibilities that may exist between Data Modeler and the various versions of JRE.
    Thanks.

  • How convert spaces in logical model to underscores in physical model

    Hi,
    in Oracle Designer we used spaces in logical model objects (entities, attributes, relations) which were automatically converted to underscores when the physical model was generated from the logical one. Is there any way how do this conversion in Data Modeler? So far I have been able to convert mixed case in logical model to uppercase in physical model (with the exception of foreign keys) but changing space to underscores still eludes me.
    Why I think this is important: the logical model should use "normal" language if possible, i.e. spaces, mixed case etc. But the physical model should have uppercase only and definitely no spaces. Having objects in Oracle defined with spaces leads to many difficulties since any reference to the object must use "" around the name of the object...
    Thanks
    Jakub

    Hi,
    but the problems continues (even when the model is reduced to no entities at all!)
    The error you reported (in engineering and import) cannot be reached if there are no entities and attributes - it's a specific error probably related to usage of distinct types that are removed from design.
    You can use search functionality in order to find attributes/columns (logical/relational model) with incorrect data type definition based on distinct type.
    And it's better to move to Data Modeler 4.0 (833).
    So what to search (example is on logical model - it's the same for relational model - column):
    1) Activate search window (CTRL-F when logical diagram is active, or Find icon), switch to advanced mode
    2) for "Object type" Attribute:
    - check "Data Type kind" line and put DT as search text
    - check "Distinct type" line, don't put search text - it'll search for attributes without distinct type
    - change the operand for expression from OR to AND
    3) press "Find" button
    If you find some attributes, then you need to decide what to do with them - to set data type or to delete them.
    The same for columns in relational model.
    Philip

  • How to resolve corruption in logical model?

    Hello
    I have a logical model created in SDDM 3.1.2.704.  I have engineered to a relational model successfully in the past, but recently when I tried to engineer logical -> relational nothing happens.  I get the following entry in the log file:
    [AWT-EventQueue-0] ERROR MDBAction - java.lang.NullPointerException
    Looking at some other discussions, I used the transformation script described here
         3.1.3.709: How to Verify and Fix a Possibly Corrupted Design?
    This didn't fix my problem, but the output file (generated when I press the Engineer to Relational model button) shows the following exception:
    java.lang.NullPointerException
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.decodeDataTypeKindToString(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.processDataTypeAndUse(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.initPropertiesList(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.AttributeColumnComparator.initPropertiesList(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.AttributeColumnComparator.<init>(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.AttributeColumnComparator.<init>(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.addAttribute(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.addEntityDetails(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.setEditableStatus(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.addEntity(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.addFromLogicalModel(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.<init>(Unknown Source)
    at oracle.dbtools.crest.swingui.engineeringcompare.EngineeringCompareDialog.<init>(Unknown Source)
    at oracle.dbtools.crest.swingui.logical.ControllerLogical$FWDEngineer.doActionPerformed(Unknown Source)
    at oracle.dbtools.crest.swingui.MDBAction$ActionInvoker.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642)
    at java.awt.EventQueue.access$000(EventQueue.java:85)
    at java.awt.EventQueue$1.run(EventQueue.java:603)
    at java.awt.EventQueue$1.run(EventQueue.java:601)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:612)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    I have tried SDDM 3.3.0.747, same result.
    I have tried removing entities from the model, 1 at a time, but the problems continues (even when the model is reduced to no entities at all!)
    I have tried exporting the model and importing it into an empty design.  The import fails "Unable to generate design" and produces the following exception in the datamodeler.log file:
    [Thread-19] ERROR ODExtractionController - Error Generate Design: Untitled_1
    java.lang.NullPointerException
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.decodeDataTypeKindToString(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.processDataTypeAndUse(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.COPropertiesComparator.initPropertiesList(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.AttributeComparator.initPropertiesList(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.AttributeComparator.<init>(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.addAttribute(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.addEntityDetails(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.addEntity(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.initSourceDesign(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.<init>(Unknown Source)
    at oracle.dbtools.crest.swingui.compare.cwddesign.CompareCWDDesignsDialog.<init>(Unknown Source)
    at oracle.dbtools.crest.imports.cwddesigner.CWDExtractionController$Runner2.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:662)
    Any help greatly appreciated.  With over 100 entities and 200 relationships I really don't want to have to recreate this.
    Thanks in advance.

    Hi,
    but the problems continues (even when the model is reduced to no entities at all!)
    The error you reported (in engineering and import) cannot be reached if there are no entities and attributes - it's a specific error probably related to usage of distinct types that are removed from design.
    You can use search functionality in order to find attributes/columns (logical/relational model) with incorrect data type definition based on distinct type.
    And it's better to move to Data Modeler 4.0 (833).
    So what to search (example is on logical model - it's the same for relational model - column):
    1) Activate search window (CTRL-F when logical diagram is active, or Find icon), switch to advanced mode
    2) for "Object type" Attribute:
    - check "Data Type kind" line and put DT as search text
    - check "Distinct type" line, don't put search text - it'll search for attributes without distinct type
    - change the operand for expression from OR to AND
    3) press "Find" button
    If you find some attributes, then you need to decide what to do with them - to set data type or to delete them.
    The same for columns in relational model.
    Philip

  • Xml data type is not supported in distributed queries. Remote object 'OPENROWSET' has xml column(s).

    Hi,
    Can anyone help me out please.
    I have written one stored Procedure to create a views using Openrowset(openquery) but for tables which contains xml data types throwing error while executing the SP. Error
    " Xml data type is not supported in distributed queries. Remote object 'OPENROWSET' has xml column(s)."
    Please refer the Stored Procedure & error message below.
    USE [Ice]
    GO
    /****** Object:  StoredProcedure [dbo].[Pr_DBAccess]    Script Date: 08/14/2014 16:08:20 ******/
    SET
    ANSI_NULLS ON
    GO
    SET
    QUOTED_IDENTIFIER ON
    GO
    ALTER
    PROCEDURE [dbo].[ Pr_DBAccess](@SERVERTYPE
    NVARCHAR(50),@SERVERNAME
    NVARCHAR(100),@DATABASENAME
    NVARCHAR(100),@SCHEMANAME
    NVARCHAR(100),@TABLENAME
    NVARCHAR(100),@USERNAME
    NVARCHAR(100),@PASSWORD
    NVARCHAR(100))
    AS
    BEGIN
    DECLARE @openquery
    NVARCHAR(4000),
    @ETL_CONFIG_IDN
    NVARCHAR(100);
     IF @SERVERTYPE='SQL'
     BEGIN
    SET @openquery= 
    'CREATE VIEW '+@TABLENAME+
    ' WITH ENCRYPTION AS SELECT * FROM OPENROWSET(''SQLNCLI'',''SERVER='+@SERVERNAME+';TRUSTED_CONNECTION=YES;'',''SELECT * FROM '+@DATABASENAME+'.'+@SCHEMANAME+'.'+@TABLENAME+''')'
    SELECT @openquery
    END
    EXECUTE
    sp_executesql @openquery
    END
    ----While running the SP manually below error occured

    HI ,
    1. You cannot use a table or view that contains xml or clr type as 4-part name in your query
    2. You need to cast the column to either nvarchar(max) or varbinary(max) or other appropriate type to use
    3. If you have a table that has xml type for example then you need to create a view that contains all columns other than xml and query it instead. Or you can issue a pass-through query using OPEN QUERY with the appropriate columns only.
    Here is a work around:
    SELECT
          Cast(a.XML_Data as XML) as XML_Data
    FROM
          OPENQUERY([LINKED SERVER NAME HERE],'
              SELECT
                Cast(XML_Data as Varchar) as XML_Data
             FROM
                [DATABASE NAME].[SCHEMA].[TABLE NAME]'
    ) a
    Basically, the data is queried on the remote server, converts the XML data to a varchar, sends the data to the requesting server and then reconverts it back to XML.
    You can take help from below link;
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/c6e0f4da-821f-4ba2-9b01-c141744076ef/xml-data-type-not-supported-in-distributed-queries?forum=transactsql
    Thanks

  • Flex and CFC with Remote Object

    I wrote a simple cold fusion componenet on my webserver at:
    http://www.paramountmediainc.com/webservices/eadexchange/agent_sys.cfc
    Now I want to play with that in Flex with a Remote Object.
    I'm writing the flex on my local machine. I tried this approach but
    was uncessfull:
    <mx:RemoteObject id="acctRO" showBusyCursor="true"
    source="webservices.eadexchange.agent_sys"
    endpoint="
    http://www.paramountmediainc.com/flashservices/gateway">
    I get the following error ...
    TypeError: Error #1034: Type Coercion failed: cannot convert
    Object@3b15da1 to mx.messaging.messages.ErrorMessage.
    Any ideas what I'm doing wrong here?

    You cant really replace Struts with Flex, maybe a view part
    , thats about is, you still need backend processioning
    logic,all that you are asking is difficult to answer is one reply,
    IMHO, best thing you can do is to dive into following URLs :
    http://www.adobe.com/devnet/flex/
    http://livedocs.adobe.com/flex/3/html/help.html?content=Part2_DevApps_1.html
    http://livedocs.adobe.com/blazeds/1/blazeds_devguide/
    http://livedocs.adobe.com/flex/3/html/help.html?content=Part6_ProgAS_1.html
    and of course your best friend :
    http://livedocs.adobe.com/flex/3/langref/index.html

  • Can a remote service return a remote object?

    Hi all,
    please consider a business logic for a typical forum service :
    public interface ForumManager extends Remote
    Forum createNewForum(String Name);
    Forum getForum(String Name);
    public interface Forum extends Remote
    void postNewArticle(String Title, String Content);
    Article [] getArticles();
    public class Article implements Serializable
    There are two interfaces of remote objects: ForumManager and Forum, both of two interfaces are extended from interface Remote. I created two classes implementing these interfaces respectively, and created two stub classes from the implementation with rmic.
    As the logic, a ForumManager creates and manages forums on the server. A client can retrieve a remote stub of a forum instance from the manager stub, and post articles to the forum stub. The forum stub then sends the new articles to the real ForumImpl on the server, and the real implementation of Forum on the server then save the articles into disks or DBs. So, you can see, the most important thing is that clients have to be able to get the stub of a forum.
    Codes in createForum() of the implementation class of ForumManager is like this:
    ForumImpl TheNewForum = new ForumImpl(this.getRef());
    // ^ Because ForumImpl is a remote object, without a ref, it can not be marshaled.
    ForumTable.put(Name, TheNewForum);
    return TheNewForum;
    The problem is, the Forum instance my client retrieved from FourmManagerImpl_Stub (gotten from Naming.lookup()) is a ForumImpl, but not a Forum_Stub. So that articles posted to the forum will not be sent to the server, and different clients can not share articles with each other. I found a bunch of documents about RMI, but they did not illustrated how to retrieve a stub of a remote object from another remote object (like a manager). If you know how to cope this problem, please tell me.
    Edited by: DBPZ on Apr 2, 2008 3:33 AM

    why does this base class exist?It's really only there to support stubs. The only thing it gives you over Object is the remote equality semantics, and only stubs need that. (It also provides the RemoteReference but only RMI needs that, internally, you don't.)
    When should we use RemoteObject instead of UnicastRemoteObject?Never, but if you do, or you use Object (or indeed anything other than UnicastRemoteObject and Activatable), you have to export it yourself as indicated above.

  • Remote object trying to return another remote object and a ClassCastExcepti

    I have a server running with a TreeModel (the tree model implements Remote). I also have the the TreeNodes all linked together on the server. Now, I can get to the TreeModel on the server and the root node of the remote tree model.
    treeModelStub = (treeModelIface)Naming.lookup(url+"remoteTM"); //works
    rootStub = (remoteTreeNodeIface)treeModelStub.getRoot(); //works. The call to getRoot returns Object
    But when I call
    remoteTreeNodeIface aChild = (remoteTreeNodeIface)rootStub.getChildAt(index) //Does not work. "Exception in thread "main" java.lang.ClassCastException
    at remoteTreeNode_Stub.getChildAt(Unknown Source)
    The remote tree node method getChildAt returns TreeNode because the class implements TreeNode:
    public class remoteTreeNode extends UnicastRemoteObject implements rdcaDataIface, Comparable, TreeNode {
    public TreeNode getChildAt(int idx) {
    System.out.println("DEBUG: class is "+this.getClass()); // class is remoteTreeNode
    return (remoteTreeNode)children.get(idx);
    The remote interface is defined as:
    public interface rdcaDataIface extends java.rmi.Remote {
    public TreeNode getChildAt(int idx) throws RemoteException;
    Any ideas why this does not work. Why can a remote object of type Object be returned just fine, but a TreeNode not be returned?
    Thank you for your help,
    Brent

    I have a server running with a TreeModel (the tree
    model implements Remote). I also have the the
    TreeNodes all linked together on the server. Now, I
    can get to the TreeModel on the server and the root
    node of the remote tree model.
    treeModelStub =
    (treeModelIface)Naming.lookup(url+"remoteTM");
    //works
    rootStub =
    (remoteTreeNodeIface)treeModelStub.getRoot();
    //works. The call to getRoot returns Object
    But when I call
    remoteTreeNodeIface aChild =
    (remoteTreeNodeIface)rootStub.getChildAt(index)******************************************
    can only be casted to rdcaDataIface. The returned object is an instanceof the rdcaDataIface_stub, which have nothing to do with TreeNode.
    //Does not work. "Exception in thread "main"
    java.lang.ClassCastException
    at remoteTreeNode_Stub.getChildAt(Unknown
    t(Unknown Source)
    The remote tree node method getChildAt returns
    TreeNode because the class implements TreeNode:
    public class remoteTreeNode extends
    UnicastRemoteObject implements rdcaDataIface,
    Comparable, TreeNode {
    public TreeNode getChildAt(int idx) {
    System.out.println("DEBUG: class is
    lass is "+this.getClass()); // class is
    remoteTreeNode
    return (remoteTreeNode)children.get(idx);
    The remote interface is defined as:
    public interface rdcaDataIface extends java.rmi.Remote
    public TreeNode getChildAt(int idx) throws
    ows RemoteException;
    Any ideas why this does not work. Why can a remote
    object of type Object be returned just fine, but a
    TreeNode not be returned?
    Thank you for your help,
    Brent

  • Two remote objects calls on the same php class

    Hi to all,
           I've encountered a strange issue while developing with remote objects.
    I've a mxml component with an init() method inside which is called by a menu.
    When the init() method is called it makes 7 remote object calls which are bound to some components' dataprovider.
    Among this calls I've got 2 remote object which refer to the same remote class. This because I have to call the class twice and the bind the result to two different combobox. Below you find the code:
    <mx:RemoteObject id="myFile" source="myRemoteClass" destination="amfphp"  showBusyCursor="true" makeObjectsBindable="true" fault="traceFault(event)"/>
    <mx:RemoteObject id="myXls"  source="myRemoteClass" destination="amfphp"  showBusyCursor="true" makeObjectsBindable="true" fault="traceFault(event)"/>
    in the init function I make this calls:
    myFile.listDir("dir_1")
    myXls.listDir("dir_2")
    then in the mxml code I bound the result of myFile to combobox1 and the result of myXls on combobox2.
    The problem arise when I call the myXls' listDir method. When I call it I receive the following error:
    code:
    Client.Error.DeliveryInDoubt
    Message:
    Channel disconnected
    Detail:
    Channel disconnected before an acknowledgement was received
    The strange thing is that not only the myXls object returns this error, but also all the other 6 remote object return the same error above.
    I'm not sure, but I guess that the error could be caused by the two remote object which call the same php remote class. If I comment one of the two calls everything works fine.
    Do you have any suggestion about?
    Thanks!!
    Bye
    Luke

    Hi Jan.
    1) We have the 2 VO, each with 3 rows to fill in data. What I mean is that when i just fill in all the fields for the first row of the first VO, and the value of one of these fields is bigger than 50, then after the exception is thrown and the message is displayed, the fields for the first VO are duplicated and shown in the second VO as if the user had inserted them.
    2) We tried yesterday the validateEntity and a Method and Atributte Validator approaches after reading that white paper with the same results.
    The validation is correctly done using any of the those methods.
    I will try to reproduce this issue with the HR schema.
    Thanks in advance once again.

  • Exporting two remote objects on the same port

    Hi,
    I would like to export two remote objects on the same host, same port and bind them with different service names.
    There is no problem when I do that from the same Java program.
    But when I export and bind an object from a Java program 1, I cannot do the same with the second (and similar) Java program 2. This is the stack trace of my Exception:
    java.rmi.server.ExportException: Port already in use: 50040; nested exception is:
         java.net.BindException: Address already in use: JVM_Bind
         at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:243)
         at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:178)
         at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
         at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
         at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:145)
         at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:129)
         at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:275)
         at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:178)
         at java.rmi.server.UnicastRemoteObject.<init>(UnicastRemoteObject.java:75)Can some one help please

    It should work in any version of Java as long as the server socket factories are null or equal according to Object.equals() or its override in the SSF.equals() method if any. Which needs to be present and needs to take the form:
    public boolean equals(Object object)
      return object != null && object.getClass() == this.getClass();
    }with further tests if the server socket factories have additional state.

  • Difference between OBIEE Logical Modelling and physical modelling

    HI.
    what is the difference between logical modeling (BMM) and physical modelling(Physical layer) in obiee admin tool
    please narrate it in definition format
    thank you
    rakesh

    Hi rakesh,
    Administrator tool consists of 3 layers
    Physcial layer:-It is typically first layer built in the repository.Contains objects representing the physical data sources to which the BI server submits queries.It may conatin multiple data sources.The common way is to import metadat from different databases.You can define joins after import if they are not defined.
    Business model and mapping layer:-It is defined as business or logical models of data and specifies the mapping between the physical and business layers.This is where the physical schemas are simplified to form the basis for the end user.We can say data is seperated into facts and dimension tables
    Presentation layer:-simplifies and organizes the business model to make it easy for users to understand and query
    go through the user guides for all the definition and subject
    Hope it helps you.my points?
    By,
    Kranthi
    Edited by: Kranthi.K on Sep 1, 2009 10:22 PM

Maybe you are looking for