2010-12-27 11 views
5

展開されたwcfサービス(.net 4.0)。サービス側の設定は次のようになります。サービスを呼び出すときに、私は例外を取得していますWCFサービスをRESTモードでどのように使用しますか?

<system.serviceModel> 
    <client>  
     <endpoint name="MyServiceEndpointBasicHttp" 
        address="http://myDomain/myService" 
        binding="webHttpBinding" behaviorConfiguration="webBehavior" 
        contract="MyNamespace.IMyService" /> 
    </client> 
    <behaviors> 
     <endpointBehaviors> 
      <behavior name="webBehavior"> 
       <webHttp />  
      </behavior>  
      </endpointBehaviors> 
    </behaviors> 
</system.serviceModel> 

:しようと

<endpoint address="" 
      binding="webHttpBinding" 
      bindingNamespace="https://mydomain/myservice/services"  
      behaviorConfiguration="WebBehavior" 
      contract="MyService" /> 

<endpointBehaviors> 
    <behavior name="WebBehavior"> 
    <webHttp /> 
    </behavior> 
</endpointBehaviors> 

は次のようにweb.configに見える、ウェブアプリのサービスを消費

操作 '方法1' 'IMyService'は、複数の リクエストボディパラメータを指定します。 はラッパーなしでシリアライズされます 要素。最大1つの本体パラメーター は、ラッパーなしで直列化できます 要素。追加のボディ のパラメータを削除するか、 WebGetAttribute/WebInvokeAttributeのBodyStyle プロパティを に設定します。いくつかのグーグル後

、我々は法に[WebGet(BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Xml)]を設定していないしましたが、何の成功...

一つ興味深い:でも、私は他の方法を呼んでいる、同じメソッド名は例外では常にあります。 ..

サービスメソッドの名前と、必要なPARAMATERSを入力することにより、ブラウザでのテスト中RESTモードで正常に動作します...

+2

サービスメソッドの定義に**サービス契約**を表示できますか? –

答えて

3

あなたがこのスレッドのように、同様の問題に直面しているようだ:WCF Service Proxy throws exception when more than one parameter is used in [OperationContract] method

"VSの[サービス参照の追加]ダイアログを使用してプロキシコードを作成したようです。 VS ASRダイアログはWCF RESTを完全にサポートしていないため、プロキシコードに[WebInvoke]属性がありません。

+1

あなたはどういう意味ですか? "クライアントプロキシの操作上の属性を追加する"?どのファイルに追加する必要がありますか? – iamCR

関連する問題