3

3つのエンドポイントを公開するWCFWebサービスがあります。しかし、WCFテストクライアントにデバッグすると、basicHttpBindingエンドポイントが1つしか表示されません。

1:なぜそうなのですか?

2:ここに、DataContract(VINDescription)を返す1つの操作コントラクト「CallADSWebMethod」があります。知りたいのですが、これがリアルタイムでうまく機能するのに、テストクライアントでテストできない理由。つまり、テストクライアントです。 「この操作はテストクライアントではサポートされていません」と表示されます

3:ここendpointBehaviorsで-私は与えただけで、何もしていません...しかし、それでもjquery ajax呼び出しから機能しています..では、「enableWebScript」の意味は何ですか?

クライアントイメージのテスト

構成情報

<system.serviceModel>
    <services>
      <service behaviorConfiguration="asmx" name="ADSChromeVINDecoder.Service">
        <endpoint address="basic"
                  binding="basicHttpBinding"
                  name="httpEndPoint"
                  contract="ADSChromeVINDecoder.IService"/>
        <endpoint address="json"
                  binding="webHttpBinding"
                  behaviorConfiguration="webBehavior"
                  name="webEndPoint"
                  contract="ADSChromeVINDecoder.IService"/>
        <endpoint contract="IMetadataExchange"
                  binding="mexHttpBinding"
                  address="mex" />
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="webBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="asmx">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
4

1 に答える 1

5

WCFテストクライアントにはSOAPエンドポイントのみが表示され、そのうちの1つ(が付いているものbasicHttpBinding)のみが表示されます。

  • jsonエンドポイントは使用します(webHttpBindingこれはRESTベースです-WCFテストクライアントではテストできません)

  • mexエンドポイントはメタデータ交換エンドポイントであり、実際のサービスエンドポイントではありません。

したがって、WCFテストクライアントは正しく1つの(SOAP)エンドポイントのみを表示します-1つだけです

更新: WCFテストクライアントはかなり制限されており、制限の1つは、独自のカスタムデータ型をパラメーターとして処理できないことです。基本的には、タイプintstringなどのパラメーター(datetime単純なデータ型)を持つメソッドのみをテストできます。

より高度なWebサービスのテストが必要な場合は、SOAP Webサービスをテストするための(無料で入手可能な)SoapUIツールを確認する必要があります。複雑なパラメータータイプなどが含まれます。

于 2012-10-16T12:06:43.487 に答える