2013-09-23 5 views
7

は、私が持っている見つかりませんでした。ReportingService2010は

private readonly ReportingService2010 _rs = new ReportingService2010();

エラー:

The type or namespace name 'ReportingService2010' could not be found (are you missing a using directive or an assembly reference?) 

私はsetup SSRSサービスへの参照。この参照は、私が期待しているようにReportingService2010にアクセスすることはできません。最も近いものは次のとおりです。

MySsrsServiceNamespace.ReportingService2010SoapClient

は、どのように私はReportingService2010クラスを使用することが出来るのですか? MSDNはこのクラスを漠然とリストしています。

ご了承ください。ReportingService2010SoapClientを試しました。このクラスはReportingService2010のドキュメントと一致しません。たとえば、ListChildren()は4つのパラメータしか受け入れず、Urlプロパティは存在しません。

答えて

5

プロキシクラスを作成してアプリケーションに組み込むか、ReportingServiceにWeb参照を追加します。チュートリアルが提供されています:あなたがプロキシクラスのために行くされており、複数のエンドポイント(ReportExecution、ReportingService)を使用している場合は、異なる名前空間のプロキシクラスを生成する必要があること

http://technet.microsoft.com/en-us/library/ms155134.aspx

注、そうでない場合はあなたが得ます衝突する。

ウェブ参照で行っていますか?その場合は、コマンドラインでWSDLを使用してみてください。コマンドラインの構文:

wsdl /language:CS /n:"Microsoft.SqlServer.ReportingServices2010" http://serverName/reportserver/ReportService2010.asmx?wsdl 
+0

私はこれを行っています。プロキシクラスは、ビジュアルスタジオのWebサービスへの参照を追加することで生成できます。それが私がやったやり方、そして 'ReportingService2010SoapClient'の由来です。 –

+0

名前空間の競合があった場合に備えて、別のクラスにReportingService2010を追加しようとしました。まだ行きません。 –

+0

ウェブレファレンスでやりましたか?もしそうなら、WSDLを試してみてください - 私はSSRSエンドポイントの領域でプロキシクラスを使用することしか経験していないので、VSで参照を追加することは本当に役に立ちません。 – kyooryu

0

これを変更してください。

private readonly ReportingService2010 _rs = new ReportingService2010() 

private readonly ReportingService2010SoapClient _rs = new ReportingService2010SoapClient() 

にあなたが存在し、参照を追加すると、あなたがインスタンス化するための*に対応するクライアントクラスを作成していないクラスにインスタンスを作成しようとしています。

+0

を 'は.csファイルを追加します。 ReportingService2010Client'も存在しません。私が持っている最も近いものは 'ReportingService2010SoapClient'です... –

+0

それに応じて答えが – ChrisBint

+0

に更新されました。クラスが一致しません。例えば、 'ListChildren()'はNON-soap版で2つのパラメータを受け取ります。石鹸版は4つのパラメータが必要です。 http://technet.microsoft.com/en-us/library/reportservice2010.reportingservice2010.listchildren.aspx –

21

まったく同じ問題が発生しました。 ReportingService2010SoapClientクラスは使用できましたが、ReportingService2010クラスは使用できませんでした。私はナッツを運転していた。私は、「サービス参照」としてこれを追加しましたが、あなたはそうのように、「Web参照」として、それを追加する必要があります。

  1. が古いサービス参照

  2. は、右の参照をクリックして削除します。 [Add Service Reference]ダイアログが表示されます。

  3. 代わりにWSDL URLを入力しないでください。左下にある[詳細設定]ボタンをクリックします。

  4. 「サービス参照の設定」ダイアログが表示されます。

  5. 左下にある[Web参照の追加]ボタンをクリックします。

  6. ここで、WSDLのURLを入力します。 (私の場合はservername/ReportServer/ReportService2010.asmx)

  7. 右の小さな矢印をクリックすると、読み込みに時間がかかります。

  8. 名前のWeb参照が、私は "ReportingService2010WebReference" を使用しますが、ReportingService2010" はおそらく同じようにうまく動作します。

  9. クリックして "" に更新し、あなたのコードでは、あなたのusingステートメントを

  10. 」を参照の追加します.ReportingService2010WebReferenceを使用して(またはあなたが選んだ任意の名前)

コード:

private MySol.ReportService2010WebReference.ReportingService2010 rsClient; 

rsClient = new ReportingService2010(); 
rsClient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; 

CatalogItem[] items = null; 

items = rsClient.ListChildren("/", false); 

foreach (var item in items) 
{ 
    tr.ErrorMessage += (item.Path + " " + item.CreatedBy); 
} 

最初の試みで作業しました。 Web.configファイルには触れられませんでした。

+5

あなたはノーベル平和賞または何かに値する... – werdsackjon

+0

彼は私の投票権を持っています。ありがとう。私が持っていた唯一の問題は、Web参照を追加したときに私のプロジェクトがSystem.ServiceProcessライブラリを適切に使用できなくなったことです。何らかの理由で、フレームワークのバージョンを何か他のものに変更した後、再び修正しました。 –

+0

この方法は妥当です。私はこれを使用し、Web参照を追加します。ありがとう兄貴。 – tonymiao

1

がWebreferenceを追加しないでください

は、以下の手順に従ってください、それがうまく動作します。

1)を確認してください管理者

3)CDのCとして.netframework> = 4.6.1

2)を実行し、コマンドプロンプトを持っている:\プログラムファイル(x86の)\マイクロソフトのSDK \ WINDOWS \ V10 .0A \ビン\のNETFX 4.6.1ツール

4)クラス生成:WSDL/proxyusername:ユーザー名/ proxyPasswordの:パスワード-out:Reportingservice2010.cs http://Servername/Reportserver/ReportService2010.asmx?wsdl

追加)を実行しますWSDLを/?助けのためにファイルが出力されます:C:\プログラムファイル(x86の)\マイクロソフトのSDK \ WINDOWS \ v10.0A \ binに\ NETFX 4.6.1ツール

5)は、プロジェクトに

+0

これはコメントであり、答えではありません。それが重複した質問であれば、[投票する](http://stackoverflow.com/help/privileges/close-questions)そのようなものとして、そして/またはあなたが一度[あなたが]獲得したコメントを残す(http://meta.stackoverflow .com/q/146472/169503)十分な[評判](http://stackoverflow.com/help/whats-reputation)正確な重複がない場合は、この特定の質問に合わせて答えを調整します。 –

+0

@XaviLópez私はそれを閉じてここに修正を残す –

+0

@XaviLópezが修正されました –

関連する問題