2009-06-15 6 views
0

私は最初の段階でウェブサービスを利用しています。ここに私の状況があります:.NETを使用してWSDLファイルを消費する - 新規初心者の質問!

私は、既存の企業イントラネットWebサイト用に.NET 3.5で書いています。 Webサービスへの呼び出しを追加し、アカウントデータを渡して応答を取得する必要があります。

Web参照を.wsdlファイルに追加し、Visual Studioでサービス参照クラスを生成できるようにしました。

これは私の質問です.WCFをこのような状況で使用する方が簡単か、それともASP.NET Webサービスアーキテクチャで焼いて使用するのですか?

次のコードを使用してWebサービスを動作させようとしましたが、失敗しました。このコードでは、ProgramServiceClientは、wsdlファイルを使用してVSによって生成されたサービスクラスの名前です。繰り返しますが、私はこれを非常に新しくしているので、どんなポインタも非常に役立ちます!

var client = new ProgramServiceClient(); 
    Int64 acct = 123456781234 
    var requestMetadata = new RequestMetadata(); 

    var response = new GetProgramResponse(); 
    var request = new GetProgramRequest 
         { 
          AccountId = acct 
         }; 

    client.GetProgram(requestMetadata, request, out response); 
+0

outパラメータを使用する必要がありますか?メソッドがパラメータを操作する代わりにメソッドを返す必要があるようです – slf

+0

WCFビットによってProgramServiceClientが生成されていますか?質問に貼り付けることができたら、例外がスローされますか? ProgramServiceClient.GetProgram()のメソッドシグネチャは何ですか? – Kev

+0

@Kev - クライアントは「サービス参照の追加」ダイアログで生成されました。私は以下の答えで提供されるリンクを使ってみるつもりです。失敗した場合は、特定のエラーメッセージを投稿します。 @slf - 生成されたメソッドによってoutパラメータが必要でした。 –

答えて

5

How to Consume a Web Serviceを参照してください。

.NETを使用したすべての新しいWebサービス開発にはWCFを使用する必要があります。 WCF で、.NETに焼き付けられています。 「ASP.NET Webサービスアーキテクチャで焼いたもの」と呼ぶものは、以前の、古い、停滞しているWebサービスアーキテクチャです。

投稿した特定のコードについては、特定のコードを投稿していることをお勧めしますが、受け取った特定のエラーメッセージや例外も投稿する必要があります。特に、例外が発生した場合は、スタックトレースとInnerExceptionインスタンスを含む完全な例外を通知します。キャッチし、ex.ToString()を表示します。

+2

+1絶対に:WCFは他にも多くの柔軟性とパワーとオプションを提供しています。今日始まった誰もがWCFとASMXを考える必要はないでしょう。 –

+0

John、簡潔で有益な回答をいただきありがとうございます。私はすべてが動いています。そして今、私は実際のサービスによって投げられているエラーを処理しています。あなたは私をつかまえて走っています。ありがとう! –