1

我正在使用 SiteCore,我需要通过该 API 或使用 PHP 脚本的 SQL 数据库从软件中提取一些数据。我说两者都是可能的原因是因为即使数据库稍后发生变化,这对我来说也无所谓。

反正...

我正在尝试提取可以从特定问题中获得的任何数据字段。到目前为止,这是我的 SOAP 代码,它连接到服务等,但返回不是我需要的......

try
{
    $client = new SoapClient('http://localhost:8083/sitecore/shell/webservice/service.asmx?WSDL');

    $credentials = array('Password' => 'mypassword','Username' => 'sitecore\myusername');

    $Current_Issue = array(
    'id' => '{043B69BA-3175-4184-812F-C925CE80324E}',
    //'language' => 'en',
    //'version' => '1',
    //'allFields' => 'true',
    'databaseName' => 'web',
    'credentials' => $credentials
    );

    $response = $client->GetItemMasters($Current_Issue);
    print_r($response);

}
catch(SoapFault $e)
{
echo $e->getMessage();
}
catch(Exception $e)
{
echo $e->getMessage();
}

这是我的输出:

stdClass Object
(
    [GetItemMastersResult] => stdClass Object
        (
            [any] => <sitecore xmlns=""/>
        )

)

任何帮助表示赞赏。如果有人知道我可以使用的示例 SQL 查询,那将与替代方法一样有用。

谢谢

4

1 回答 1

6

如果您运行的是 Sitecore 6.5 / 6.6,您可能需要查看昨天(2012 年 5 月 11 日)发布的 Sitecore Item Web API。

http://sdn.sitecore.net/Products/Sitecore%20Item%20Web%20API.aspx

这允许您对 Sitecore 项目执行 RESTful 操作,而无需使用旧的 Web 服务/SOAP 接口。使用此模块,您可以接收 Sitecore 项目或项目集合的 JSON 表示,甚至可以回发更改。您可能会发现使用起来更容易:)

如果您必须使用 SOAP 接口,您确定您的项目已发布吗?尝试更改 databaseName -> 'master' 并查看是否有任何结果。要检查的其他事项是您正在使用的用户凭据的权限。

于 2012-11-06T15:07:30.493 回答