Hi DaveS,
"1 Method API documentation suggests using HTTPS, is that still true?"
Yes
"2. Is there a limit to the # of API calls such as 1000 per day/ week/ month?"
No there is not....as long as your login credentials are valid use away
"3. Why are the Method API calls not working and what can we do to get them to work reliably."
This one is a little trickier....what it comes down to is there may be a problem with your application trusting our ssl certificate. When you browse the web and you get this issue you, you get a prompt asking you something like "Do you want to accept/trust the cert, etc.". You don't get this prompt in a webservice call.
For this specific issue, what you need to do is create your own Certificate policy class that implements the ICertificatePolicy interface.
I'll post the examples from the following article http://support.microsoft.com/kb/823177 You can also find out more by doing a google search for "The underlying connection was closed: Could not establish trust relationship with remote server"
VB
Imports System.Net
Imports System.Security.Cryptography.X509Certificates
Public Class MyPolicy
Implements ICertificatePolicy
Public Function CheckValidationResult(ByVal srvPoint As ServicePoint, _
ByVal cert As X509Certificate, ByVal request As WebRequest, _
ByVal certificateProblem As Integer) _
As Boolean Implements ICertificatePolicy.CheckValidationResult
'Return True to force the certificate to be accepted.
Return True
End Function
End Class
C#
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class MyPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint
, X509Certificate certificate
, WebRequest request
, int certificateProblem) {
//Return True to force the certificate to be accepted.
return true;
} // end CheckValidationResult
} // class MyPolicy
Before the webservice call is invoked you need to execute the following
VB
System.Net.ServicePointManager.CertificatePolicy = New MyPolicy()
C#
System.Net.ServicePointManager.CertificatePolicy = new MyPolicy();
Dave