<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.jacorb.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://www.jacorb.org/bugzilla/"
          
          maintainer="jacorb@goots.org"
>

    <bug>
          <bug_id>972</bug_id>
          
          <creation_ts>2013-12-10 11:24:21 +0000</creation_ts>
          <short_desc>Method _repository_id() not found when invoked from C++ (TAO)</short_desc>
          <delta_ts>2014-01-03 16:06:43 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>JacORB</product>
          <component>ORB</component>
          <version>3.3</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Schwarz">joseph.h.schwarz</reporter>
          <assigned_to name="Mailinglist to track bugs">jacorb-bugs</assigned_to>
          <cc>jacorb</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3090</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Schwarz">joseph.h.schwarz</who>
    <bug_when>2013-12-10 11:24:21 +0000</bug_when>
    <thetext>The org.omg.Object._repository_id() method, when invoked by a Java client on a Java object in another JVM (on a single PC) works correctly. However, when invoked from from a C++ process via TAO, it fails with:

2013-12-09T15:45:29.009 WARNING [jacorb@monColTestCont] rid: 11 opname: _repository_id starts with request processing
2013-12-09T15:45:29.009 WARNING [jacorb@monColTestCont] rid: 11 opname: _repository_id invokeOperation on servant (stream based)
2013-12-09T15:45:29.010 INFO [jacorb@monColTestCont] rid: 11 opname: _repository_id invocation: system exception was thrown.
org.omg.CORBA.BAD_OPERATION: _repository_id not found
    at alma.ACS.ROdoublePOA._invoke(&lt;MyImpl&gt;)
    at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:362)
    at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:684)
    at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:846)

From the implementation provided by the Jacorb Delegate class (where the method is called &quot;repository_id(),&quot; it appears that only a local invocation is foreseen. (We see the same implementation in Jacorb 3.4-beta.)

 Since our system makes liberal use of interacting C++, Java and Python objects, interoperability of this kind is essential for us. We have been using Jacorb 2.2.4 with TAO successfully for many years, but we needed the functionality of the newer org.omg APIs (already in TAO and now in Jacorb 3.x as well) in order to be able to take advantage of functionality such as _repository_id(); the above problem is a major hitch in our upgrade.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3101</commentid>
    <comment_count>1</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2014-01-03 16:06:43 +0000</bug_when>
    <thetext>Fixed in SHA 1916cf70fa9e5377110ededa13c262b7d7586279</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>