2016-08-15 1 views
0

私は1つの文字列パラメータを取るWCFサービスを持っています。私はそれに電話をかけようとするとエラーが発生します。「サーバがリクエストを処理中にエラーが発生しました。詳細はサーバログを参照してください」 私はこの問題をフィドラーからjsonリクエストを渡して再現しました。 jQuery $ .ajax()に問題はありません。jsonパラメータをWCF関数に渡すとエラーが発生しました。 "サーバーで要求の処理中にエラーが発生しました。詳細についてはサーバーログを参照してください"

サービス契約 - -

[ServiceContract] 
public interface iAgentDesktop 
{ 
    [OperationContract] 
    string Transfer(string extensionNumber); 
    [OperationContract] 
    string Conference(string extensionNumber); 
} 

WCFサービス

public class AgentDesktopMediator : iAgentDesktop 
{ 
    string iAgentDesktop.Conference(string extensionNumber) 
    { 
      //do something 
      return ""; 
    } 
    string iAgentDesktop.Conference(string extensionNumber) 
    { 
     do something 
     return ""; 
    } 
} 

設定ファイル -

<?xml version="1.0"?> 
<configuration> 
    <system.serviceModel> 
    <services> 
     <service name="WCFListener.AgentDesktopMediator"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://localhost:8070/"/> 
      </baseAddresses> 
     </host> 
     <endpoint address="AgentDesktopMediator" binding="basicHttpBinding" contract="WCFListener.iAgentDesktop"></endpoint> 
     <endpoint address="jAgentDesktopMediator" binding="webHttpBinding" contract="WCFListener.iAgentDesktop" behaviorConfiguration="web"></endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
     <endpointBehaviors> 
     <behavior name="web"> 
      <webHttp defaultOutgoingResponseFormat="Json"/> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    </system.serviceModel> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
+0

私はパラメータを渡さないと、任意のエラー..私のパラメータがNULLの場合は、 –

答えて

0

Yここで

は私のServiceContract、WCFのクラスと構成ですトレースファイルで実際のエラーを見つける必要があります。トレースファイルを作成するには、最初にCドライブに呼ばれるログをフォルダを作成し、あなたのサービスを呼び出すたびに、トレースファイル内のすべての診断情報を引っ張ってくる

<system.diagnostics> 
<sources> 
    <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true"> 
    <listeners> 
     <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\logs\Traces.svclog" /> 
    </listeners> 
    </source> 
</sources> 
</system.diagnostics> 

今すぐあなたのWCFの設定ファイルに次のセクションを置きますMS Traceビューアでダブルクリックして開くことができます。

+0

うわー!! miを試してみましょう.. –

+0

ok ..今..私はWCFを持っていて、それをコンソールアプリケーションでホストしています。これはコンソールアプリケーションかWCFの設定ですか? –

+0

これはwcf configにする必要があります。 –

0

OKは、私の質問は、問題は解決された後に..私は

問題は私のコンテンツタイプに私はcontentTypeのと文字セットの間にセミコロンを入れていないということでした。これを締結自体が不完全でした。 。

これは)(私は私の$アヤックスで提供するものである -

Content-Type: application/json charset=utf-8 

それがなければならなかった -

Content-Type: application/json; charset=utf-8 

そして、私はフィーダーからサービスを打ちようとしている間にヘッダーを見たことがありませんでした..私は供給していたデータの形式だけに集中していました

関連する問題