Here is some info I got from the other software developer, if it helps you help me

That's not a problem, essentially what we will do is send commands to the back-end service through a TCP socket. Some quick searching came up with this link http://lessons.runrev.com/s/lessons/m/4 ... ng-sockets which appears to show how to use a client TCP socket.
There is a little more work with this method because there is a message format that the XML command needs to be put into:
- The first 10 bytes is for the length of the XML command (excluding the 74 header bytes). If your command is 200 bytes long then this should be 0000000200. Note the 0's here are actually the character '0', ASCII code 48.
- The next byte should be an uppercase N. This is the compression format, N means that neither the request or response XML will be compressed.
- The next 63 bytes should be the ASCII code 0. These are placeholders in the message format for future-use options.
- The rest of the message is the actual XML command.
The response comes back in the same format. Read the first 10 bytes for the length of the response XML. You can ignore the next 64 bytes, then read the response XML.
The remote server (back-end service) runs on the server on port 9154. Give it a whirl and let me know if you have any problems or questions.
Connecting through the remote server also changes a couple aspects of how the commands needs to be executed.
- Use the ConnectRemote command to connect instead of Connect:
<FabSuiteXMLRequest>
<ConnectRemote>
<Username>user</Username>
<Password>pass</Password>
</ConnectRemoate>
</FabSuiteXMLRequest>
If successful, the response will include a ConnectionGUID element. The remote server processes commands from all users logged into remote link so the ConnectionGUID needs to be passed to each subsequent command to identify your session:
<FabSuiteXMLRequest>
<ConnectionGUID>guid returned by ConnectRemote response</ConnectionGUID>
<GetInventorySummary>
...
</GetInventorySummary>
</FabSuiteXMLRequest>