I need to call an API that is all in java from an existing .NET codebase. What is the best approach here? Writing a web service in Java that basically just redirects API calls - or is it happening with something like JNI4NET ?
You can use jni4net , which is the JNI bridge between .Net and Java. (Darin Dimitrov substitutes for providing this information in response to another question.)
It depends. If this is a desktop application, you can use JNI. But for a web application you have to use web services.
If this is a web application, you can also look at using the RMI proxy object on the java server side and IIOP.NET on .NET on the client side.
It will be an order of magnitude faster than web services.