簡體   English   中英

WCF REST端點

[英]WCF REST Endpoint

我正在開發WCF,並且希望通過SOAP / REST兩種方式調用它。

現在,我可以通過SOAP獲得響應,但是無法通過JSON請求調用相同的WCF。

IService1.cs

[OperationContract]
    [FaultContract(typeof(CustomException))]  
    [WebInvoke(Method = "POST", UriTemplate = "/Validateuser",
        RequestFormat = WebMessageFormat.Xml | WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Xml | WebMessageFormat.Json)]
    ResponsetoCustomer Validateuser(ValidateCustomerInput validate);

Web.config文件

<system.serviceModel>
<services>
  <service name="TractorMitraIntegration.IService1"  behaviorConfiguration="ServBehave">
    <!--Endpoint for SOAP-->
    <endpoint
       address="soapService"
        binding="basicHttpBinding"
        contract="TractorMitraIntegration.IService1"/>
    <!--Endpoint for REST-->
    <endpoint
      address="XMLService"
       binding="webHttpBinding"
       behaviorConfiguration="restPoxBehavior"
       contract="TractorMitraIntegration.IService1"/>
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServBehave">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true"/>
    </behavior>
    <behavior>
      <!-- To avoid disclosing metadata information, set the values below to false before deployment -->
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
      <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
<endpointBehaviors>
    <!--Behavior for the REST endpoint for Help enability-->
    <behavior name="restPoxBehavior">
      <webHttp helpEnabled="true"/>
    </behavior>
  </endpointBehaviors>
</behaviors>
<protocolMapping>
  <add binding="basicHttpsBinding" scheme="https"/>
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>

在我面臨的錯誤之下,

由於內容類型“ application / json”不是預期的類型“ text / xml”,因此無法處理該消息; 字符集= UTF-8'

請幫忙!

您可能需要defaultOutgoingResponseFormat =“ Json”:

<behavior name="restPoxBehavior">
   <webHttp helpEnabled="true" defaultOutgoingResponseFormat="Json" />
</behavior>

您不能同時為同一端點同時支持肥皂和休息。 有關如何操作,請參閱WSF服務的REST / SOAP端點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM