2010-12-02 15 views
3

WCFサービスを作成しましたが、このWCFサービスはWebサービスを呼び出す必要があります。私がやっていることは、WCFにWebサービスのサービス参照を追加し、使用したいWebサービスのメソッドを呼び出すことです。 WCFからのWebサービスの使用

は一例を以下に示します:

CalcWebReference.CalculatorSoapClient fct = 
    new CalcWebReference.CalculatorSoapClient(); 
int rq = fct.Add(q, r); 
return rq; 

今、私はそれは、サーバが原因に リクエストを処理できませんでした

エラーに次与えているクライアントから呼び出そうとしました。この方法内部エラー。エラーに関する 詳細については、 バック にクライアントを例外情報を送ったりごとにトレースをオンに するために、サーバー上の(設定ServiceBehaviorAttributeからか からいずれか 行動) IncludeExceptionDetailInFaultsをオンにどちらか Microsoft .NET Framework 3.0 SDK のドキュメントを参照し、サーバー トレースログを調べます。

おかげで、私はuが言ったことでしたが、今私はServiceModelクライアント構成セクションで契約 『CalcWebReference.CalculatorSoap』を参照して、デフォルトのエンドポイント要素を見つけることができませんでした」エラーを次取得しています。これには、構成ファイルが見つかりませんでした可能性がありますので、または、この契約に一致するエンドポイント要素がクライアント要素に見つかりませんでした。

これで、WCFサービスまたはWebサービスでいくつかのエンドポイントを与えて、Webサービスからその機能を取得する必要があります。

助けてください。

こんにちは、

CalcWebReference.CalculatorSoapClientは、WebサービスではないWCFにrefferingされます。下記の は、Webサービスを呼び出しているWCFで書かれたコード(サンプルコード)されています - 私は、構文の権利を

CalcWebReference.CalculatorSoapClient fct = new CalcWebReference.CalculatorSoapClient(); 

      int rq = fct.Add(12, 10); 

      return rq; 

を入れていないですか、私はこれで行う必要があり、追加のものはありますか?

答えて

2

これは一般的なWCFの「何か問題が発生しました」というエラーメッセージです。それは本当に多くの助けにはなりません。

アプローチ:

  • は、あなたが自分自身で作品を呼び出しているWebサービスが確認してください - それ以外の場合はそれを修正します!

  • エラーメッセージに記載されているように、エラーの詳細をWCFサービスに含めることができます(DEV環境でこれを実行します!)

  • は、詳細なエラー報告を有効にするために

を何が起こっているかのVisual Studioおよびデバッグの内側にあなたのWCFサービスを起動しようとすると、あなたのWCFサービスの設定に、このセクションを追加する必要があります。

<behaviors> 
    <serviceBehaviors> 
     <behavior name="DebugBehavior"> 
      <serviceDebug includeExceptionDetailInFaults="True" /> 
     </behavior> 
    </serviceBehaviors> 
</behaviors> 

すでにサービス動作が設定されている可能性があります。その場合は、サービス動作に<serviceDebug>タグを追加するだけです。

あなたはまだサービスの設定を持っていない場合 - あなたはまた、あなたのサービスが実際にそのサービスの設定を使用して確認する必要があります:

<service name="YourServiceNameHere" 
     behaviorConfiguration="DebugBehavior"> 

あなた<service>behaviorConfiguration=属性を持っていることを確認してくださいタグを使用して定義されたサービス動作を参照するようにしてください(その<behavior name="..." >プロパティを指定してください)。

これを済ませたら、あなたのエラーがあなたにもっと情報を与えてくれるはずです。正しい方向に向けるべきであることは間違いなくあなたの例外で.InnerExceptionになるはずです。

関連する問題