Web Service Connection
To connect to the Web Service Interface, J. River recommends the following flow. Please note that Gizmo uses a similar approach.
Ask the user for an access key
An access key will be six case-sensitive letters. No digits or symbols are used.
Lookup server addresses from access key
Call the web service (replace [Access Key] with the actual access key):
http://webplay.jriver.com/libraryserver/lookup?id=[Access Key]
It is recommended that you use a short timeout.
Optionally wake computers
Loop the IP addresses returned and send a wake request to each MAC address returned. The details of creating magic packets for wake requests is beyond the scope of this document. For Java code, this might help: http://www.jibble.org/wake-on-lan/
Try connecting to each IP address
Loop the IP addresses returned, and attempt to connect to: http://[Returned IP Address]:[Returned Port]/MCWS/v1/Alive
Be sure to loop the addresses in order so that you first attempt to connect on the LAN and only fallback to the WAN if necessary.
Use a short timeout, usually 2 to 5 seconds.
Parse the response and make sure the access key matches the access key entered by the user.
Also, check the library version and program version as necessary.
Authenticate
Call the web service function: MCWS/v1/Authenticate
Provide the saved username and password if you have one.
If authentication does not succeeed, ask the user for their username and password. Then repeat.
Store the token returned and include it in all future calls.
Use MCWS
You can start using the web service at this point. Include the token in each call using &Token=[Token Received During Authentication].