I think ParseLogonResponse is bugged, and throws an exception on logon. Line 736 should be.. r.PurchaseAnalysisData = msg.substring(index + 3, msg.length()).trim(); Thanks Paul