2

jQuery によって呼び出される WCF サービスに問題があります。「エラー 400 不正な要求」

これが私のコードです:

  1. インターフェース
  2. 実装
  3. ウェブ構成
  4. BoardService を呼び出す Javascript メソッド

Iボードサービス

[ServiceContract]
public interface IBoardService
{
    [OperationContract]
    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
    string HelloWorld(string position, string idTask);

ボードサービス

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class BoardService : IBoardService
{
    public string HelloWorld(string position, string idTask)
    {
...
        JavaScriptSerializer js = new JavaScriptSerializer();
        return js.Serialize("Column: " + idColumn + " Story: " + idStory + " IdTask: " + idTask);

Web.config

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
    <endpointBehaviors>
        <behavior name="EndpBehavior">
            <webHttp/>
        </behavior>
    </endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  <services>
      <service behaviorConfiguration="ServiceBehavior" name="App.WebMVC.WCF.BoardService.BoardService">
          <endpoint address="" binding="webHttpBinding" contract="App.WebMVC.WCF.BoardService.IBoardService" behaviorConfiguration="EndpBehavior"/>
      </service>
  </services>
 </system.serviceModel>

jquery.drangdrop.js - JavaScript メソッド

    function Display(id,tempCurrentDrag) {
    var pageUrl = '../../WCF/BoardService.svc'
    $.ajax({
        type: "POST",
        url: pageUrl + "/HelloWorld",
        data: "{'position': '" + id + "', 'idTask': '"+tempCurrentDrag+"'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: OnSuccessCall,
        error: OnErrorCall
    });

    }
4

0 に答える 0