Correct!
Choice A is correct.
JNI stands for Java Native Interface and is used to allow Java to communicate with programs written in languages like C++. In effect you are wrapping the C++ code to make it available to Java. For example, you will wrap a C++ method called debitAccount (int amount) with a similar Java method, the Java method will just call the C method. This means you can now make the method accessible via RMI.
Choice B is incorrect because it goes against the customer's requirements.
Choice C is incorrect because screen scrapers are generally used to connect to mainframe systems when you no access to the source code. Although this it might be possible to get choice D to work, it is far more work than is actually required. You would need to get the C++ and CORBA programs working first, then try and interface CORBA and RMI, which isn't necessary.

