Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Trying to connect to Betfair API
Message
From
02/03/2008 16:31:19
 
 
General information
Forum:
Visual FoxPro
Category:
Web Services
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Miscellaneous
Thread ID:
01298019
Message ID:
01298071
Views:
31
Same error as Doug .

Haven't got access to 8 here

If you pass any other string (eg "testusername") you get back an invalid username/password message.

>>I just ran it in 9 and got an error.
>Same error as Doug? Can you try in 8?
>
>>Its a problem with whats in lclogin.
>Don't see how that can be the case since it worked for me.
>Regards,
>Viv
>>
>>
>>
>>>Hi,
>>>
>>>Haven't got VFP9.0 to hand so can't check. Do you have 8? Of course it could be something else in the environment.
>>>
>>>BTW I think you could drop the and tags - it should work either way.
>>>Regards,
>>>Viv
>>>
>>>>It's actually the "lcXML = loBFGlobalService.login(lcLogin)" line that is causing the error...
>>>>
>>>>Client:Incorrect number of parameters supplied for SOAP request HRESULT=0x80070057: The parameter is incorrect.
>>>>
>>>>If you aren't getting this error at the login command then maybe it is something with the _ws3client.vcx in VFP9.
>>>>
>>>>Regards
>>>>Doug
>>>>
>>>>
>>>>>>Hi,
>>>>>>
>>>>>>I am trying to connect to the Betfair web service API with the following code...
>>>>>>
>>>>>>
>>>>>>LOCAL loBFGlobalService AS "XML Web Service"
>>>>>>* LOCAL loBFGlobalService AS "MSSOAP.SoapClient30"
>>>>>>* Do not remove or alter following line. It is used to support IntelliSense for your XML Web service.
>>>>>>*__VFPWSDef__: loBFGlobalService = https://api.betfair.com/global/v3/BFGlobalService.wsdl , BFGlobalService , BFGlobalService
>>>>>>LOCAL loException, lcErrorMsg, loWSHandler
>>>>>>TRY
>>>>>>	loWSHandler = NEWOBJECT("WSHandler",IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_ws3client.vcx")
>>>>>>	loBFGlobalService = loWSHandler.SetupClient("https://api.betfair.com/global/v3/BFGlobalService.wsdl", "BFGlobalService", "BFGlobalService")
>>>>>>	* Call your XML Web service here.  ex: leResult = loBFGlobalService.SomeMethod()
>>>>>>	*login(request AS LoginReq) AS LoginResp
>>>>>>		
>>>>>>CATCH TO loException
>>>>>>	lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message
>>>>>>	DO CASE
>>>>>>	CASE VARTYPE(loBFGlobalService)#"O"
>>>>>>		* Handle SOAP error connecting to web service
>>>>>>	CASE !EMPTY(loBFGlobalService.FaultCode)
>>>>>>		* Handle SOAP error calling method
>>>>>>		lcErrorMsg=lcErrorMsg+CHR(13)+loBFGlobalService.Detail
>>>>>>	OTHERWISE
>>>>>>		* Handle other error
>>>>>>	ENDCASE
>>>>>>	* Use for debugging purposes
>>>>>>	MESSAGEBOX(lcErrorMsg)
>>>>>>FINALLY
>>>>>>ENDTRY
>>>>>>
>>>>>>SET TEXTMERGE ON
>>>>>>TEXT TO lcLogin NOSHOW PRETEXT 7
>>>>>><?xml version="1.0" encoding="utf-16"?>
>>>>>><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>>>>>>  <soap:Body>
>>>>>>    <login xmlns="http://www.betfair.com/publicapi/v3/BFGlobalService/">
>>>>>>      <request>
>>>>>>        <ipAddress xmlns="" />
>>>>>>        <locationId xmlns="">0</locationId>
>>>>>>        <password xmlns="">bfpassword</password>
>>>>>>        <productId xmlns="">82</productId>
>>>>>>        <username xmlns="">bfusername</username>
>>>>>>        <vendorSoftwareId xmlns="">0</vendorSoftwareId>
>>>>>>      </request>
>>>>>>    </login>
>>>>>>  </soap:Body>
>>>>>></soap:Envelope>
>>>>>>ENDTEXT
>>>>>>SET TEXTMERGE OFF
>>>>>>
>>>>>>TRY
>>>>>>        *loBFGlobalService .ConnectorProperty("Timeout") = 240000
>>>>>>        lcXML = loBFGlobalService.login(lcLogin)
>>>>>>        xmltocursor(lcXML)
>>>>>>        BROWSE
>>>>>>CATCH TO loException
>>>>>>	lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message
>>>>>>	DO CASE
>>>>>>	CASE VARTYPE(loBFGlobalService)#"O"
>>>>>>		* Handle SOAP error connecting to web service
>>>>>>	CASE !EMPTY(loBFGlobalService.FaultCode)
>>>>>>		* Handle SOAP error calling method
>>>>>>		lcErrorMsg=lcErrorMsg+CHR(13)+loBFGlobalService.Detail
>>>>>>	OTHERWISE
>>>>>>		* Handle other error
>>>>>>	ENDCASE
>>>>>>	* Use for debugging purposes
>>>>>>	MESSAGEBOX(lcErrorMsg)
>>>>>>FINALLY
>>>>>>ENDTRY
>>>>>>
>>>>>>
>>>>>>
>>>>>>...however the "lcXML = loBFGlobalService.login(lcLogin)" returns the following object...
>>>>>>error -
>>>>>>
>>>>>>Client:Incorrect number of parameters supplied for SOAP request HRESULT=0x80070057: The parameter is incorrect.
>>>>>>
>>>>>>The above XML was generated by a utility available on the Betfair site, but they also have some downloadable XML files which are slightly different...
>>>>>>
>>>>>>
>>>>>><?xml version="1.0" encoding="utf-8"?>
>>>>>><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>>>>>>  <soap:Body>
>>>>>>    <login xmlns="http://www.betfair.com/publicapi/v3/BFGlobalService/">
>>>>>>      <request>
>>>>>>      	<ipAddress xmlns=""></ipAddress>
>>>>>>        <locationId xmlns="">0</locationId>
>>>>>>        <password xmlns="">bfpassword</password>
>>>>>>        <productId xmlns="">82</productId>
>>>>>>        <username xmlns="">bfusername</username>
>>>>>>        <vendorSoftwareId xmlns="">0</vendorSoftwareId>
>>>>>>      </request>
>>>>>>    </login>
>>>>>>  </soap:Body>
>>>>>></soap:Envelope>
>>>>>>
>>>>>>
>>>>>>...both forms generate the sane error.
>>>>>>
>>>>>>Hoping someone can shed some light on this.
>>>>>
>>>>>Hi,
>>>>>Code as listed worked for me (i.e. got Invalid Login back) but XMLTOCURSOR() failed (probably because the response is not structured in a way that can be translated to a cursor)
>>>>>Using VFP8 - don't know if the WSCLIENT changed in 9.0?
>>>>>Regards,
>>>>>Viv
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform