title: Open source library in Java for communicating with OPC HDA Server
body: <p>I am trying to create an application which entails communication with an <strong>OPC HDA</strong> server to get historical values of tags.
  I was wondering if there are any free/open source libraries available in Java which can help me do that.</p>
  
  <p>I have already tried the following options:</p>
  
  <ol>
  <li><strong>Integration Objects Java Wrapper:</strong> It internally uses <strong>JNI</strong>. When client and server are not co-located, it is difficult to get it working. It is licensed. </li>
  <li><strong>jInterop:</strong> Implements the <strong>MSRPC</strong> protocol and thus does not rely on JNI. Is portable. However, the OPC HDA interfaces are quite complex and I was not able to call them via <strong>jInterop</strong>. Also the errors that it throws are quite obscure, so troubleshooting is a major issue with this library. The call that I was not able to get working was the <code>IOPCHDA_SyncRead::ReadRaw.</code>
  For the reasons stated above, I am not keen on using both these libraries.<br></li>
  </ol>
  
  <p>Any help/pointers will be greatly appreciated.</p>
  
  <p>Thanks,</p>
  
  <p>Saurabh</p>