用于使用PHP访问知识网络的SOAP服务

时间:2013-03-26 20:56:12

标签: php web-services soap

我一直在努力学习如何使用PHP访问Web知识的soap服务。我使用的是以下代码,我从https://gist.github.com/domoritz/2012629下载了该代码。

<?php
$auth_url = "http://search.isiknowledge.com/esti/wokmws/ws/WOKMWSAuthenticate?wsdl";
$auth_client = @new SoapClient($auth_url);
$auth_response = $auth_client->authenticate();

$search_url = "http://search.isiknowledge.com/esti/wokmws/ws/WokSearchLite?wsdl";
$search_client = @new SoapClient($search_url);
$search_client->__setCookie('SID',$auth_response->return);

$search_array = array(
'queryParameters' => array(
'databaseID' => 'WOS',
'userQuery' => 'AU=Douglas T*',
'editions' => array(
array('collection' => 'WOS', 'edition' => 'SSCI'),
array('collection' => 'WOS', 'edition' => 'SCI')
),
'queryLanguage' => 'en'
),
'retrieveParameters' => array(
'count' => '5',
'fields' => array(
array('name' => 'Date', 'sort' => 'D')
),
'firstRecord' => '1'
)
);

try{
$search_response = $search_client->search($search_array);
} catch (Exception $e) {
echo $e->getMessage();
}

print_r($search_response);
?>

代码似乎正在运作。但是,我收到的$search_response是 “用户无权享受此服务级别 - WOKSearchLight”。我试图从一个可以访问知识网络的机构内部的服务器访问这段数据,我实际上使用http://apps.webofknowledge.com/UA_GeneralSearch_input.do?product=UA&search_mode=GeneralSearch&SID=4Dd8nnfofoOm@7@5KH6&preferencesSaved=连接到知识网。

谁能告诉我发生了什么?我是否需要该网站的额外许可?

我真的很感激任何帮助!

1 个答案:

答案 0 :(得分:2)

是的,您需要先在http://ip-science.thomsonreuters.com/info/ws_form/?agree=0&x=31&y=12注册并输入您的IP地址,然后它应该可以正常工作......