Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4394520

codec.encode_value fails when passed an Any (from singleton ORB) holds objrefs.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 1.4.0
    • 1.4.0
    • other-libs
    • merlin
    • sparc
    • solaris_2.5.1

      The transaction propagation context structure has a references to coordiator and terminator objects, which gets marshalled out as part of the tx svc ctxt.

      Inside the interceptor (send_request) point, a singleton ORB is used to create an 'any' to hold the svc ctxt and codec.encode_value(..) is used to encode it into an byte[].

      When codec.encode_value tries to copy the any contents into its cdrOut stream, it does a read_Object(..) which fails.

      The reason is because the implementation of the cdr.read_Object() uses orb.getSubcontractRegistry() to get the subcontract. But in the case of singleton orbs, there is no subcontract registry, and hence there is no way to do read_Object.

            hcarr Harold Carr
            rjeyaramsunw Ram Jeyaraman (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: