Invalid Binary Header on Replication
This is a Technical (IT) Helpdesk topic
Problem
The Aquila Replication software (aqrepl.exe) is unable to connect to the WinCGI app server module located at https://nwww.mdsas.nhs.uk/ibid/cgi-bin/aquilaweb.exe/bin.
The error message returned is "Invalid binary header. Either incompatible or not a binary message". This error is generated from the client-side channel component in aqrepl.exe when it does not received the correct format of reply from the app server. It is always followed by the first 500 characters of the actual reply received.
In this case the full error message is:
Error copying replication data to http://10.195.1.71/ibid/cgi-bin/aquilaweb.exe/bin Invalid binary header. Either incompatible or not a binary message. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> .<html xmlns="http://www.w3.org/1999/xhtml"> .<head> .<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> .<title>500 - Internal server error.</title> .<style type="text/css"> .body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;} .fieldset{padding:0 15px 10px 15px;} .h1{font-size:2.4em;margin:0;color:#FFF;} .h2{f
(Notice the actual response received is an HTML document entitled 500 - Internal Server Error)
Analysis
Programming
This problem is symptomatic of using an incorrect URI to access the app server. We have seen it occur when the /bin path is omitted from the URI for instance. However the same app server component (AquilaWeb.exe) is in use in other locations (including http://ibid.mdsas.com/cgi-bin/aquilaweb.exe/bin) without this problem occurring. We have also added additional "debug" output to the aqrepl.exe module that confirms the URI to be correct. Moreover, the URI is actually provided by a command line parameter so when running ther app manually one can provide _any_ URI.
Server Configuration
The above "programming" section seems to indicate that the problem is not programming related, due to the fact that the same app server module is in use successfully in other places. However, there is contradictory evidence in that it is entirely possible to run the AquilaCRS (IBID) desktop application to connect to the app server at nww.mdsas.com. Moreover, the same datatable that is being accessed by the aqrepl program (ILOG_REPL) can be successfully opened and manipulated by the AquilaCRS.exe client program.
Remove SSL
Paul Kelly removed SSL from the equation by using the URI http://10.195.1.71/ibid/cgi-bin/aquilaweb.exe/bin. This did not alter the error message, it was still "Invalid Binary Header", but it did alter the header that was returned. Compare:
Error copying replication data to http://10.195.1.71/ibid/cgi-bin/aquilaweb.exe/bin - Invalid binary header. Either incompatible or not a binary message. <?xml version="1.0" encoding="utf-8"?> .<Library Name="AquilaLibrary" UID="{E7D1248E-8205-4255-A2EB-206555CE7403}" Version="3.0"> .<Services> .<Service Name="DataAbstractService" UID="{709489E3-3AFE-4449-84C3-305C2862B348}" Abstract="1"> .<Interfaces> .<Interface Name="Default" UID="{4C2EC238-4FB4-434E-8CFF-ED25EEFF1525}"> .<Documentation><![CDATA[ Service WinFormsDAServerService. This service has been automatically generated using the RODL template you can find in the Templates directory.]]><
Note that although the error message is the same, the header returned is an XML file containing the service description.