|
|
|
| Как с помощью php (curl)
Отправить запрос XML (SOAP):
<?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>
<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>
|
и получить ответ:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:n2="http:// www.betfair.com/publicapi/types/global/v3/" xmlns:xsd="http://www.w3.org/2001/ XMLSchema">
<soap:Body>
<n:loginResponse xmlns:n="http://www.betfair.com/publicapi/v3/BFGlobalService/">
<n:Result xsi:type="n2:LoginResp">
<header xsi:type="n2:APIResponseHeader">
<errorCode xsi:type="n2:APIErrorEnum">OK</errorCode>
<minorErrorCode xsi:nil="1">
</minorErrorCode>
<sessionToken xsi:type="xsd:string">PKdvAW+ruIAg0s769DeM+vxY=</sessionToken>
<timestamp xsi:type="xsd:dateTime">2007-08-23T11:25:05.285Z</timestamp>
</header>
<currency xsi:type="xsd:string">GBP</currency>
<errorCode xsi:type="n2:LoginErrorEnum">OK</errorCode>
<minorErrorCode xsi:nil="1"> </minorErrorCode>
<validUntil xsi:type="xsd:dateTime">0001-01-01T00:00:00.000Z</validUntil>
</n:Result>
</n:loginResponse>
</soap:Body>
</soap:Envelope>
|
Спасибо. | |
|
|
|
|
|
|
|
для: Varer
(01.07.2009 в 12:01)
| | Вопрос из серии ноу хау. Типа как взять киллограм свинца а получить килло золота.
Источник, тип данных и так далее. Побольше усилий в написание вопроса вложить. То что в хмл файле мало интиресно. | |
|
|
|
|
|
|
|
для: werd
(01.07.2009 в 18:14)
| | Так понял, вот:
Мне надо с эмулировать протокол обмена SOAP.
Вот сюда отправляются данные:
http://www.betfair.com/publicapi/v3/BFGlobalService/
|
Вот эти данные:
<locationId xmlns="">0</locationId>
<password xmlns="">bfpassword</password>
<productId xmlns="">82</productId>
<username xmlns="">bfusername</username>
<vendorSoftwareId xmlns="">0</vendorSoftwareId>
|
В ответ я должен получить какие либо данные (пример выше).
Теперь есть код написанный на Perl, может кто поможет переложить на php:
my ($username,$password,$productId)=@_;
my $xml='
<?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>
<locationId xmlns="">0</locationId>
<password xmlns="">'.$password.'</password>
<productId xmlns="">'.$productId.'</productId>
<username xmlns="">'.$username.'</username>
<vendorSoftwareId xmlns="">0</vendorSoftwareId>
</request>
</login>
</soap:Body>
</soap:Envelope>';
my $userAgent = LWP::UserAgent->new();
my $request = HTTP::Request->new(POST =>
'https://api.betfair.com/global/v3/BFGlobalService');
$request->header(SOAPAction => '"
https://api.betfair.com/global/v3/BFGlobalService
"');
$request->content($xml);
$request->content_type("text/xml; charset=utf-8");
my $resp = $userAgent->request($request);
my $content=$resp->content;
#print Dumper(\$content);
|
| |
|
|
|
|
|
|
|
для: Varer
(02.07.2009 в 09:57)
| | Вообщем нужно использовать сокет для гет или пост. Вот только опыта с постом в пхп у меня нет. Есть кусок для метода гет могу дать. А вы уже перенастройте под пост. | |
|
|
|
|
|
|
|
для: werd
(05.07.2009 в 21:41)
| | Спасибо, на выходных купил книжку pro php, там подобная задача решилась через soapclient | |
|
|
|