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を実行している場合は、昨日(5/11/12)にリリースされたSitecore ItemWebAPIを確認することをお勧めします。

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

これにより、古いWebサービス/ SOAPインターフェイスを必要とせずに、Sitecoreアイテムに対してRESTful操作を実行できます。このモジュールを使用すると、SitecoreアイテムまたはアイテムのコレクションのJSON表現を受け取り、変更をポストバックすることもできます。作業が簡単な場合があります:)

SOAPインターフェイスを使用する必要がある場合、アイテムが公開されていることを確認しますか?databaseName->'master'を変更してみて、結果が得られるかどうかを確認してください。その他に確認する必要があるのは、使用しているユーザー資格情報のアクセス許可です。

于 2012-11-06T15:07:30.493 に答える