2009-05-27 22 views
0

私はWCF(VS2005、.Net 3.0)を使用しており、コードではなくWebブラウザを介して直接呼び出してサービスをテストします。WCFサービスを直接呼び出すことができません(.NET 3.0)

私は、OperationContract属性呼び出しGetTest()で装飾されたメソッドを1つ持っています。私はアクセスできる.svcファイルの背後にあるサービスを持っています。しかし、私が行くとき.../Test.svc/GetTest、空白の画面が表示されます。ここで

は、web.configファイルです:

<system.serviceModel> 
    <services> 
    <service name="TestService" behaviorConfiguration="TestBehavior"> 
     <endpoint 
     address="" 
     binding="basicHttpBinding" 
     contract="TestService.ITestService"></endpoint> 
    </service> 
    </services> 
    <behaviors> 
    <serviceBehaviors> 
     <behavior name="TestBehavior"> 
     <serviceMetadata httpGetEnabled="true"/> 
     </behavior> 
    </serviceBehaviors> 
    </behaviors> 
</system.serviceModel> 

私はサービスにブレークポイントを設定しようとするたびに、それは同様にヒットされません。私がどこに間違っているのかについてのアイデアはありますか?私はASMXサービスに慣れています。ここで、ブラウザを介してメソッドにアクセスすると応答が得られます。しかし、私はサービスにアクセスすると "あなたはサービスを作成しました"ページを取得することはできますが、その方法からは何も得られません。

+0

WCFサービスはSOAPベースなので、ブラウザからSOAPサービスを呼び出すことはできません。 –

+0

@marc_s SOAPベースであり、ブラウザにSOAPメッセージを表示することができる標準ASMXサービスをいくつか作成しました。それが私がここで達成しようとしていることです。 – JamesEggers

答えて

0

WCFでは、ASMXサービスが以前から行っていた「Webから呼び出す」オプションは提供されていません。どうして?それは巨大なセキュリティホールであり、Webサービスをテストする最良の方法ではありません。

@Yossiが示唆しているように1つのオプションがあり、Wcfサービステストツールを使用します。

さらに、Webサービスを使用するように独自のクライアントを作成してください。これは、あなたのサービスを使用する消費者が対処する同じ問題に対処するのに役立ち、WCFはそれらのハングアップのかなりの部分を持つことができます。

私を間違えないでください、WCFはすごいです!しかし、ジャグリングすることはたくさんあります。もしあなたが新しいオッズであれば、それは間違ってしまうでしょう。初期の採用者であっても、WCFのすべての機能を把握していません。

+0

このツールは、WCFサービスをテストする際には不可欠です。 http://www.wcfstorm.comを参照してください。実際にWSDlを検査し、動的にメソッドを呼び出すことができます – user20155

0

SoapUIを試しましたか?彼らは本当に素晴らしいWebサービステストツールを提供します。彼らはwebStartとして実行される無料のバージョンを持っています!

また、mexエンドポイントをインストールしてみてください。デバッグ用として

を - msdn link.

4

あなたのサービスの初期テストのためWcf Service Test Toolの使用を検討してください(ただし、really-ユニットテストは:-)あなたの友達です)(あなたは、少なくとも最初は、MEXのエンドポイントが必要になりますし、ええ) - サービスをホストしている正しいプロセスに接続していますか?あなたはデバッグシンボルでコンパイルされていますか?サービスがIISに公開されている場合 - 公開されたコードはVisual Studioのコードと同じですか?

+0

WCFTestClient.exeを使用したいと思っています。しかし、私の環境では、.net 3.0(VS2005)のみに制限されています。 WCFTestClient.exeはVS2008にしか付属していないので表示されるので、私はそれが幸運ではないと思います。 – JamesEggers

0

.NET 3.5が必要なWebGetAttributeを見てください。

これにより、WCF WebサービスからRESTデータを取得できます。

+0

私が取り組んでいるプロジェクトで.net 3.5を使用することができません。代わりに悲しいことに.net 3.0でなければならない。 – JamesEggers