troubleshooting Question

VB6 Web Service MSXML Returning ERROR CODE 400 in response text.

Avatar of Jeff Collins
Jeff CollinsFlag for Australia asked on
SoftwareVisual Basic ClassicXMLWindows OSWeb Services
2 Comments1 Solution277 ViewsLast Modified:
Trying to get a session code response from the Betfair site using VB6. My software, which I've written and been using in a particular industry for 20 years, therefore huge amount of code, so trying to do it through VB6, and I've done other XML feeds using the Web Service, which are working really well.

So.... the issue is, i make a call to the site, and the return I get is HTTP ERROR CODE 400 through the response text.

Part of the process, required I create a certificate, using OPENSSL , which worked fine, and the certificate uploaded to my test account on Betfair, and the account has been enabled for access. I've also sent the P12 Key to my certificate store on my local Windows 7 (32 Bit) development computer, which allowed the call to go through without any "Certificate Required" prompts, so appears to get through that part. However, once through the response coming back is "HTTP ERROR CODE 400", in the response text. So it's not making my code fall over in any way, just not returning a session key, which is obviously required to proceed further.

The code is as follows, of which a username and password string is passed to the function from a login form.

Public Function GetBetfairSessionID(sUserName As String, sPassword As String) As BetfairSessionInfo
    Dim myMSXML As MSXML2.XMLHTTP60
    
    Dim AuthURL As String

    AuthURL = "https://identitysso.betfair.com/api/certlogin"
    Set myMSXML = CreateObject("MSXML2.ServerXMLHTTP")
    
    'myMSXML.setTimeouts 30000, 30000, 0, 0
    
    myMSXML.open "POST", AuthURL, False
    myMSXML.setRequestHeader "Accept", "application/json"
    myMSXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    myMSXML.setRequestHeader "X-Application", [MY APPLICATION KEY AS GENERATED THROUGH BETFAIR]
    
    myMSXML.send "userName=" & sUserName & "&password=" & sPassword
            
    MsgBox myMSXML.responseText

   ............ More code follows, but not valid as Response Text not returning Session ID etc...

End Function

Documentation for the Non-Interactive Login is available at:

https://docs.developer.betfair.com/display/1smk3cen4v3lu3yomq5qye0ni/Non-Interactive+%28bot%29+login

Regards
ASKER CERTIFIED SOLUTION
ste5an
Senior Developer

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 2 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 2 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros