Configuring the Server for Remote Comparisons
To enable remote DiffDog Clients to call DiffDog Server, take the following steps:
2.On the server machine, define the HTTP host and port where DiffDog Server should be listening for client requests. By default, DiffDog Server is configured to listen to HTTP connections on the address and port specified in a server configuration file. By editing the server configuration file, you can specify a different address and port. To make DiffDogServer accept incoming connections from other machines, ensure that the http.socket-host parameter is set to 0.0.0.0.
Ensure that the host and port on the server machine are not blocked by the firewall. For example, on a Windows server, you can let an application through the firewall by editing the rules available in Control Panel\All Control Panel Items\Windows Defender Firewall\Advanced Settings\Inbound Rules.
3.Restart DiffDog Server as a service. For instructions, see:
4.Do one of the following:
a.If the client machine runs on the same operating system and platform as the server machine, locate the cmdlclient subdirectory of the program installation directory and copy it to the client machine. You will find this directory at the following path:
At minimum, you should copy the executable and the .ini configuration file available in the same directory; other files are optional. If you intend to call DiffDog Server remotely from more than one client machine, then copy the cmdlclient directory to each client machine that needs to call DiffDog Server.
b.If the client machine runs on a different operating system or platform than the server machine, take the following steps:
a) Download the server installation package from the Altova download page (https://www.altova.com/download) and install it on the client operating system. After installation, you will find the client files in the cmdlclient subdirectory relative to the program installation directory.
b) Copy the cmdlclient subdirectory to another location and uninstall the server package from the client machine.
5.On the client machine, edit the client configuration file so that it points to the address and port where DiffDog Server listens for HTTP requests. For example, let's assume that DiffDog Server listens on 192.0.2.0 and port 29800. In this case, edit the client configuration file so that server.host and server.port parameters have these respective values.
On the client machine, you are now ready to call the remote DiffDog Server in order to compare some files or directories. For example, the command below will compare path\to\my\file1.txt on the client with path\to\my\file2.txt on the server, using text comparison mode. Note that, in order for the diff command to work correctly, these file paths must actually exist on the client and server machine, respectively.
diffdogcmdlclient diff --client-left=path\to\client\file.txt --server-right=path\to\server\file.txt --mode=text
When you run the command, DiffDog Client reads the connection details from the client configuration file, connects to DiffDog Server, and performs the comparison. As stated before, the configuration file must point to a host and port where DiffDog Server is up and running, and listens for HTTP requests.
The following table lists common problems that you might encounter, and their solution.
On running the DiffDogCmdlClient.exe on Windows, an error message is displayed at the command line: "This version is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher".
This may occur if you run a 64-bit executable on a 32-bit operating system. See step 4b above for a solution.
On running the diff command, an error message is displayed at the command line: "Unknown error processing the command line".
Ensure that paths on the server are supplied with the help of --server-left or --server-right options. Likewise, ensure that paths on the client are supplied with the --client-left or --client-right options.
On running the diff command, an error message is displayed at the command line: "Server is restricting file access to aliases, but client didn't specify an alias name".
Specify the --alias command line option.
On running the diff command, an error message is displayed at the command line: "[ERROR] FatalError: I/O operation on file 'file:///home/altova/Documents/Address.xsd' failed.
System Error 13: Permission denied
[ERROR] [PH] Failed to prepare path for comparison. Check log for more info"
Make sure that you have read-write access to the necessary paths on the remote server.